From 05259d409d8ea22c4f2097692decd155d98c7684 Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Thu, 27 Jul 2023 11:32:44 -0400 Subject: [PATCH 01/25] updating objects to contain public or protected --- lib/objectExtractor.js | 15 ++++--- .../SingleZone/VAV/SetPoints/CoolingCoil.json | 15 +++++++ .../Buildings/Controls/OBC/CDL/Constants.json | 3 ++ .../Controls/OBC/CDL/Continuous/Abs.json | 2 + .../Controls/OBC/CDL/Continuous/Add.json | 3 ++ .../OBC/CDL/Continuous/Derivative.json | 7 +++ .../Controls/OBC/CDL/Continuous/Greater.json | 10 +++++ .../OBC/CDL/Continuous/Hysteresis.json | 5 +++ .../CDL/Continuous/IntegratorWithReset.json | 6 +++ .../Controls/OBC/CDL/Continuous/Limiter.json | 4 ++ .../Controls/OBC/CDL/Continuous/Min.json | 3 ++ .../CDL/Continuous/MultiplyByParameter.json | 3 ++ .../Controls/OBC/CDL/Continuous/PID.json | 41 ++++++++++++++++++ .../OBC/CDL/Continuous/PIDWithReset.json | 43 +++++++++++++++++++ .../OBC/CDL/Continuous/Sources/Constant.json | 2 + .../Controls/OBC/CDL/Continuous/Subtract.json | 3 ++ .../Controls/OBC/CDL/Continuous/Switch.json | 4 ++ .../Controls/OBC/CDL/Integers/Equal.json | 3 ++ .../OBC/CDL/Integers/Sources/Constant.json | 2 + .../Controls/OBC/CDL/Logical/And.json | 3 ++ .../Controls/OBC/CDL/Logical/Not.json | 2 + .../Controls/OBC/CDL/Logical/Or.json | 3 ++ .../OBC/CDL/Logical/Sources/Constant.json | 2 + .../Controls/OBC/CDL/Logical/TrueDelay.json | 6 +++ .../OBC/CDL/Logical/TrueFalseHold.json | 17 ++++++++ .../OBC/CDL/Logical/TrueHoldWithReset.json | 9 ++++ .../Controls/OBC/CDL/Utilities/Assert.json | 2 + .../test/FromModelica/BlockInputOutput.json | 2 +- .../test/FromModelica/BlockWithBlock1.json | 2 +- .../test/FromModelica/ConditionalBlock.json | 2 +- .../test/FromModelica/CustomPWithLimiter.json | 2 +- .../test/FromModelica/DynamicTextColor.json | 2 +- .../objects/test/FromModelica/Enable.json | 2 +- .../test/FromModelica/ExtendsClause_1.json | 2 +- .../test/FromModelica/ExtendsClause_2.json | 2 +- .../test/FromModelica/ExtendsClause_3.json | 2 +- .../MisplacedInfoWithComponent.json | 2 +- .../MisplacedInfoWithEquation.json | 2 +- .../MisplacedInfoWithParameter.json | 2 +- .../test/FromModelica/MyController.json | 2 +- .../MyControllerWithSemantics.json | 2 +- .../test/FromModelica/NoClassComment.json | 2 +- .../objects/test/FromModelica/NoWithin.json | 2 +- .../objects/test/FromModelica/Parameter1.json | 2 +- .../Parameter1WithVendorAnnotation.json | 2 +- .../objects/test/FromModelica/Parameter2.json | 2 +- .../objects/test/FromModelica/Parameter3.json | 2 +- .../FromModelica/ParameterWithAttributes.json | 2 +- .../ParameterWithDefaultName.json | 2 +- .../test/FromModelica/ParameterWithInfo.json | 2 +- .../ParameterWithVendorAnnotationInInfo.json | 2 +- .../objects/test/FromModelica/PointList.json | 2 +- .../test/FromModelica/RemovableInputs.json | 2 +- .../test/FromModelica/SubController.json | 2 + .../SubControllerWithSemantics.json | 2 +- .../test/FromModelica/TestEvaluation_1.json | 2 +- .../test/FromModelica/TestEvaluation_2.json | 2 +- .../test/FromModelica/TestEvaluation_3.json | 2 +- .../test/FromModelica/TestEvaluation_4.json | 2 +- .../FromModelica/VariableModification.json | 2 +- .../test/FromModelica/WithCDLElementary.json | 2 +- .../objects/test/FromModelica/package.json | 2 +- 62 files changed, 249 insertions(+), 39 deletions(-) diff --git a/lib/objectExtractor.js b/lib/objectExtractor.js index e5674da8..fc094964 100644 --- a/lib/objectExtractor.js +++ b/lib/objectExtractor.js @@ -208,7 +208,8 @@ function extractFromComposition (composition, longClassSpecifierIdentifier, full if ('element_list' in composition && composition.element_list !== undefined) { var elementList = composition.element_list - newAllObjects = extractFromElementList(elementList, longClassSpecifierIdentifier, fullMoFilePath, within) + // TODO: check with jianjun + newAllObjects = extractFromElementList(elementList, longClassSpecifierIdentifier, fullMoFilePath, within, 'public') instances = Object.assign({}, instances, newAllObjects.instances) requiredReferences = updateRequiredReferences(requiredReferences, newAllObjects.requiredReferences) } @@ -219,13 +220,13 @@ function extractFromComposition (composition, longClassSpecifierIdentifier, full var elementSection = elementSections[i] if ('public_element_list' in elementSection && elementSection.public_element_list !== undefined) { var publicElementList = elementSection.public_element_list - newAllObjects = extractFromElementList(publicElementList, longClassSpecifierIdentifier, fullMoFilePath, within) + newAllObjects = extractFromElementList(publicElementList, longClassSpecifierIdentifier, fullMoFilePath, within, 'public') instances = Object.assign({}, instances, newAllObjects.instances) requiredReferences = updateRequiredReferences(requiredReferences, newAllObjects.requiredReferences) } if ('protected_element_list' in elementSection && elementSection.protected_element_list !== undefined) { var protectedElementList = elementSection.protected_element_list - newAllObjects = extractFromElementList(protectedElementList, longClassSpecifierIdentifier, fullMoFilePath, within) + newAllObjects = extractFromElementList(protectedElementList, longClassSpecifierIdentifier, fullMoFilePath, within, 'protectec') instances = Object.assign({}, instances, newAllObjects.instances) requiredReferences = updateRequiredReferences(requiredReferences, newAllObjects.requiredReferences) } @@ -245,7 +246,7 @@ function extractFromComposition (composition, longClassSpecifierIdentifier, full return allObjects } -function extractFromElementList (elementList, longClassSpecifierIdentifier, fullMoFilePath, within) { +function extractFromElementList (elementList, longClassSpecifierIdentifier, fullMoFilePath, within, compositionSpecifier) { var instances = {} var requiredReferences = {} @@ -257,6 +258,7 @@ function extractFromElementList (elementList, longClassSpecifierIdentifier, full if (longClassSpecifierIdentifier !== null) { extendsClause['long_class_specifier_identifier'] = longClassSpecifierIdentifier extendsClause['within'] = within + extendsClause['compositionSpecifier'] = compositionSpecifier } if ('extends_clause' in requiredReferences) { @@ -270,6 +272,7 @@ function extractFromElementList (elementList, longClassSpecifierIdentifier, full if (longClassSpecifierIdentifier !== null) { importClause['long_class_specifier_identifier'] = longClassSpecifierIdentifier importClause['within'] = within + importClause['compositionSpecifier'] = compositionSpecifier } if ('import_clause' in requiredReferences) { requiredReferences['import_clause'] = requiredReferences['import_clause'].concat([importClause]) @@ -285,7 +288,8 @@ function extractFromElementList (elementList, longClassSpecifierIdentifier, full var dict = { 'within': within, 'fullMoFilePath': fullMoFilePath, - 'classPrefixes': classPrefixes + 'classPrefixes': classPrefixes, + 'compositionSpecifier': compositionSpecifier } if ('long_class_specifier' in classSpecifier) { dict['type'] = 'long_class_specifier' @@ -328,6 +332,7 @@ function extractFromElementList (elementList, longClassSpecifierIdentifier, full 'type_specifier': typeSpecifier, 'array_subscripts': arraySubscripts, 'type': 'element', + 'compositionSpecifier': compositionSpecifier, 'long_class_specifier_identifier': longClassSpecifierIdentifier, 'single_component_list': singleComponentList, 'annotation': annotation, diff --git a/test/reference/objects/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.json b/test/reference/objects/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.json index e1887016..151db65e 100644 --- a/test/reference/objects/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.json +++ b/test/reference/objects/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.json @@ -157,6 +157,7 @@ "type_prefix": "parameter", "type_specifier": "Buildings.Controls.OBC.CDL.Types.SimpleController", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "CoolingCoil", "single_component_list": { "declaration": { @@ -280,6 +281,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "CoolingCoil", "single_component_list": { "declaration": { @@ -419,6 +421,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "CoolingCoil", "single_component_list": { "declaration": { @@ -654,6 +657,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "CoolingCoil", "single_component_list": { "declaration": { @@ -888,6 +892,7 @@ "TSupCooSet": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "CoolingCoil", "single_component_list": { "declaration": { @@ -994,6 +999,7 @@ "TAirSup": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "CoolingCoil", "single_component_list": { "declaration": { @@ -1100,6 +1106,7 @@ "uZonSta": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.IntegerInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "CoolingCoil", "single_component_list": { "declaration": { @@ -1184,6 +1191,7 @@ "u1SupFan": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "CoolingCoil", "single_component_list": { "declaration": { @@ -1244,6 +1252,7 @@ "yCooCoi": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "CoolingCoil", "single_component_list": { "declaration": { @@ -1328,6 +1337,7 @@ "conCoi": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.PIDWithReset", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "CoolingCoil", "single_component_list": { "declaration": { @@ -1462,6 +1472,7 @@ "intEqu": { "type_specifier": "Buildings.Controls.OBC.CDL.Integers.Equal", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "CoolingCoil", "single_component_list": { "declaration": { @@ -1522,6 +1533,7 @@ "conInt": { "type_specifier": "Buildings.Controls.OBC.CDL.Integers.Sources.Constant", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "CoolingCoil", "single_component_list": { "declaration": { @@ -1600,6 +1612,7 @@ "switch": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Switch", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "CoolingCoil", "single_component_list": { "declaration": { @@ -1660,6 +1673,7 @@ "const": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Sources.Constant", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "CoolingCoil", "single_component_list": { "declaration": { @@ -1737,6 +1751,7 @@ "and2": { "type_specifier": "Buildings.Controls.OBC.CDL.Logical.And", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "CoolingCoil", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Constants.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Constants.json index f10877f8..f21f8ee1 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Constants.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Constants.json @@ -323,6 +323,7 @@ "type_prefix": "constant", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Constants", "single_component_list": { "declaration": { @@ -347,6 +348,7 @@ "type_prefix": "constant", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Constants", "single_component_list": { "declaration": { @@ -371,6 +373,7 @@ "type_prefix": "constant", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Constants", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Abs.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Abs.json index 95a829e8..19b0fd73 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Abs.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Abs.json @@ -315,6 +315,7 @@ "u": { "type_specifier": "Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Abs", "single_component_list": { "declaration": { @@ -375,6 +376,7 @@ "y": { "type_specifier": "Interfaces.RealOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Abs", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Add.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Add.json index f658a685..21b0b015 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Add.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Add.json @@ -277,6 +277,7 @@ "u1": { "type_specifier": "Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Add", "single_component_list": { "declaration": { @@ -337,6 +338,7 @@ "u2": { "type_specifier": "Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Add", "single_component_list": { "declaration": { @@ -397,6 +399,7 @@ "y": { "type_specifier": "Interfaces.RealOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Add", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Derivative.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Derivative.json index a61e60a3..01c7b5a4 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Derivative.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Derivative.json @@ -384,6 +384,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Derivative", "single_component_list": { "declaration": { @@ -458,6 +459,7 @@ "k": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Derivative", "single_component_list": { "declaration": { @@ -518,6 +520,7 @@ "T": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Derivative", "single_component_list": { "declaration": { @@ -623,6 +626,7 @@ "u": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Derivative", "single_component_list": { "declaration": { @@ -683,6 +687,7 @@ "y": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Derivative", "single_component_list": { "declaration": { @@ -743,6 +748,7 @@ "T_nonZero": { "type_specifier": "Real", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "Derivative", "single_component_list": { "declaration": { @@ -779,6 +785,7 @@ "type_prefix": "output", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "Derivative", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Greater.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Greater.json index 86b2d531..bf7535d1 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Greater.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Greater.json @@ -348,6 +348,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Greater", "single_component_list": { "declaration": { @@ -417,6 +418,7 @@ "type_prefix": "parameter", "type_specifier": "Boolean", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Greater", "single_component_list": { "declaration": { @@ -491,6 +493,7 @@ "u1": { "type_specifier": "Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Greater", "single_component_list": { "declaration": { @@ -551,6 +554,7 @@ "u2": { "type_specifier": "Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Greater", "single_component_list": { "declaration": { @@ -611,6 +615,7 @@ "y": { "type_specifier": "Interfaces.BooleanOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Greater", "single_component_list": { "declaration": { @@ -672,6 +677,7 @@ "type_prefix": "parameter", "type_specifier": "Boolean", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "Greater", "single_component_list": { "declaration": { @@ -744,6 +750,7 @@ "greHys": { "type_specifier": "GreaterWithHysteresis", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "Greater", "single_component_list": { "declaration": { @@ -841,6 +848,7 @@ "greNoHys": { "type_specifier": "GreaterNoHysteresis", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "Greater", "single_component_list": { "declaration": { @@ -907,6 +915,7 @@ "within": "Buildings.Controls.OBC.CDL.Continuous", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Continuous/Greater.mo", "classPrefixes": "block", + "compositionSpecifier": "protectec", "type": "long_class_specifier", "annotation": [ { @@ -984,6 +993,7 @@ "within": "Buildings.Controls.OBC.CDL.Continuous", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Continuous/Greater.mo", "classPrefixes": "block", + "compositionSpecifier": "protectec", "type": "long_class_specifier", "annotation": [ { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Hysteresis.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Hysteresis.json index a8443144..ab3761a3 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Hysteresis.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Hysteresis.json @@ -541,6 +541,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Hysteresis", "single_component_list": { "declaration": { @@ -559,6 +560,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Hysteresis", "single_component_list": { "declaration": { @@ -577,6 +579,7 @@ "type_prefix": "parameter", "type_specifier": "Boolean", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Hysteresis", "single_component_list": { "declaration": { @@ -600,6 +603,7 @@ "u": { "type_specifier": "Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Hysteresis", "single_component_list": { "declaration": { @@ -660,6 +664,7 @@ "y": { "type_specifier": "Interfaces.BooleanOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Hysteresis", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/IntegratorWithReset.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/IntegratorWithReset.json index 5cee2ddb..ea24b1dc 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/IntegratorWithReset.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/IntegratorWithReset.json @@ -272,6 +272,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "IntegratorWithReset", "single_component_list": { "declaration": { @@ -296,6 +297,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "IntegratorWithReset", "single_component_list": { "declaration": { @@ -370,6 +372,7 @@ "u": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "IntegratorWithReset", "single_component_list": { "declaration": { @@ -430,6 +433,7 @@ "y_reset_in": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "IntegratorWithReset", "single_component_list": { "declaration": { @@ -490,6 +494,7 @@ "trigger": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "IntegratorWithReset", "single_component_list": { "declaration": { @@ -594,6 +599,7 @@ "y": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "IntegratorWithReset", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Limiter.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Limiter.json index 8c1680a5..dd80dd50 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Limiter.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Limiter.json @@ -373,6 +373,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Limiter", "single_component_list": { "declaration": { @@ -391,6 +392,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Limiter", "single_component_list": { "declaration": { @@ -408,6 +410,7 @@ "u": { "type_specifier": "Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Limiter", "single_component_list": { "declaration": { @@ -468,6 +471,7 @@ "y": { "type_specifier": "Interfaces.RealOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Limiter", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Min.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Min.json index e84624f9..923bd2f0 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Min.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Min.json @@ -188,6 +188,7 @@ "u1": { "type_specifier": "Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Min", "single_component_list": { "declaration": { @@ -248,6 +249,7 @@ "u2": { "type_specifier": "Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Min", "single_component_list": { "declaration": { @@ -308,6 +310,7 @@ "y": { "type_specifier": "Interfaces.RealOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Min", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/MultiplyByParameter.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/MultiplyByParameter.json index 63f94cea..4dfbb057 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/MultiplyByParameter.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/MultiplyByParameter.json @@ -197,6 +197,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "MultiplyByParameter", "single_component_list": { "declaration": { @@ -214,6 +215,7 @@ "u": { "type_specifier": "Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "MultiplyByParameter", "single_component_list": { "declaration": { @@ -274,6 +276,7 @@ "y": { "type_specifier": "Interfaces.RealOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "MultiplyByParameter", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/PID.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/PID.json index ff046a37..75e8d7a4 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/PID.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/PID.json @@ -578,6 +578,7 @@ "type_prefix": "parameter", "type_specifier": "Buildings.Controls.OBC.CDL.Types.SimpleController", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -602,6 +603,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -692,6 +694,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -906,6 +909,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -1120,6 +1124,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -1159,6 +1164,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -1234,6 +1240,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -1309,6 +1316,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -1521,6 +1529,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -1733,6 +1742,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -1930,6 +1940,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -2127,6 +2138,7 @@ "type_prefix": "parameter", "type_specifier": "Boolean", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -2150,6 +2162,7 @@ "u_s": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -2234,6 +2247,7 @@ "u_m": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -2338,6 +2352,7 @@ "y": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -2422,6 +2437,7 @@ "controlError": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Subtract", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -2482,6 +2498,7 @@ "P": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -2560,6 +2577,7 @@ "I": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.IntegratorWithReset", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -2657,6 +2675,7 @@ "D": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Derivative", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -2740,6 +2759,7 @@ "errP": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Subtract", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -2800,6 +2820,7 @@ "errD": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Subtract", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -2865,6 +2886,7 @@ "errI1": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Subtract", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -2930,6 +2952,7 @@ "errI2": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Subtract", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -2995,6 +3018,7 @@ "lim": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Limiter", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -3088,6 +3112,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -3126,6 +3151,7 @@ "type_prefix": "parameter", "type_specifier": "Boolean", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -3240,6 +3266,7 @@ "type_prefix": "parameter", "type_specifier": "Boolean", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -3353,6 +3380,7 @@ "kDer": { "type_specifier": "Sources.Constant", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -3435,6 +3463,7 @@ "TDer": { "type_specifier": "Sources.Constant", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -3517,6 +3546,7 @@ "Dzero": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Sources.Constant", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -3652,6 +3682,7 @@ "uS_revAct": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -3730,6 +3761,7 @@ "uMea_revAct": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -3808,6 +3840,7 @@ "addPD": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Add", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -3868,6 +3901,7 @@ "addPID": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Add", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -3928,6 +3962,7 @@ "antWinErr": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Subtract", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -3993,6 +4028,7 @@ "antWinGai": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -4075,6 +4111,7 @@ "cheYMinMax": { "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Sources.Constant", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -4173,6 +4210,7 @@ "assMesYMinMax": { "type_specifier": "Buildings.Controls.OBC.CDL.Utilities.Assert", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -4250,6 +4288,7 @@ "Izero": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Sources.Constant", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -4333,6 +4372,7 @@ "con": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Sources.Constant", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { @@ -4416,6 +4456,7 @@ "con1": { "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Sources.Constant", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PID", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/PIDWithReset.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/PIDWithReset.json index a2564a0f..01d18b5d 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/PIDWithReset.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/PIDWithReset.json @@ -578,6 +578,7 @@ "type_prefix": "parameter", "type_specifier": "Buildings.Controls.OBC.CDL.Types.SimpleController", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -602,6 +603,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -692,6 +694,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -906,6 +909,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -1120,6 +1124,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -1159,6 +1164,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -1234,6 +1240,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -1309,6 +1316,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -1521,6 +1529,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -1733,6 +1742,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -1930,6 +1940,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -2127,6 +2138,7 @@ "type_prefix": "parameter", "type_specifier": "Boolean", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -2151,6 +2163,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -2321,6 +2334,7 @@ "u_s": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -2405,6 +2419,7 @@ "u_m": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -2509,6 +2524,7 @@ "y": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -2593,6 +2609,7 @@ "trigger": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -2697,6 +2714,7 @@ "controlError": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Subtract", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -2757,6 +2775,7 @@ "P": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -2835,6 +2854,7 @@ "I": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.IntegratorWithReset", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -2932,6 +2952,7 @@ "D": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Derivative", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -3015,6 +3036,7 @@ "errP": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Subtract", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -3075,6 +3097,7 @@ "errD": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Subtract", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -3140,6 +3163,7 @@ "errI1": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Subtract", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -3205,6 +3229,7 @@ "errI2": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Subtract", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -3270,6 +3295,7 @@ "lim": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Limiter", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -3363,6 +3389,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -3401,6 +3428,7 @@ "type_prefix": "parameter", "type_specifier": "Boolean", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -3515,6 +3543,7 @@ "type_prefix": "parameter", "type_specifier": "Boolean", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -3628,6 +3657,7 @@ "kDer": { "type_specifier": "Sources.Constant", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -3710,6 +3740,7 @@ "TDer": { "type_specifier": "Sources.Constant", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -3792,6 +3823,7 @@ "Dzero": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Sources.Constant", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -3927,6 +3959,7 @@ "Izero": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Sources.Constant", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -4010,6 +4043,7 @@ "uS_revAct": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -4088,6 +4122,7 @@ "uMea_revAct": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -4166,6 +4201,7 @@ "addPD": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Add", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -4226,6 +4262,7 @@ "addPID": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Add", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -4286,6 +4323,7 @@ "antWinErr": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Subtract", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -4351,6 +4389,7 @@ "antWinGai": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -4433,6 +4472,7 @@ "yResSig": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Sources.Constant", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -4516,6 +4556,7 @@ "addRes": { "type_specifier": "Buildings.Controls.OBC.CDL.Continuous.Subtract", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -4581,6 +4622,7 @@ "cheYMinMax": { "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Sources.Constant", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { @@ -4679,6 +4721,7 @@ "assMesYMinMax": { "type_specifier": "Buildings.Controls.OBC.CDL.Utilities.Assert", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "PIDWithReset", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Sources/Constant.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Sources/Constant.json index c7cc27d2..cea21906 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Sources/Constant.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Sources/Constant.json @@ -312,6 +312,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Constant", "single_component_list": { "declaration": { @@ -329,6 +330,7 @@ "y": { "type_specifier": "Interfaces.RealOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Constant", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Subtract.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Subtract.json index 44d82d7e..477ece3a 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Subtract.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Subtract.json @@ -282,6 +282,7 @@ "u1": { "type_specifier": "Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Subtract", "single_component_list": { "declaration": { @@ -342,6 +343,7 @@ "u2": { "type_specifier": "Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Subtract", "single_component_list": { "declaration": { @@ -402,6 +404,7 @@ "y": { "type_specifier": "Interfaces.RealOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Subtract", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Switch.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Switch.json index ea4cb801..14cc14bf 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Switch.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Continuous/Switch.json @@ -374,6 +374,7 @@ "u1": { "type_specifier": "Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Switch", "single_component_list": { "declaration": { @@ -434,6 +435,7 @@ "u2": { "type_specifier": "Interfaces.BooleanInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Switch", "single_component_list": { "declaration": { @@ -494,6 +496,7 @@ "u3": { "type_specifier": "Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Switch", "single_component_list": { "declaration": { @@ -554,6 +557,7 @@ "y": { "type_specifier": "Interfaces.RealOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Switch", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Integers/Equal.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Integers/Equal.json index f0f13efe..a51ecc37 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Integers/Equal.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Integers/Equal.json @@ -239,6 +239,7 @@ "u1": { "type_specifier": "Interfaces.IntegerInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Equal", "single_component_list": { "declaration": { @@ -299,6 +300,7 @@ "u2": { "type_specifier": "Interfaces.IntegerInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Equal", "single_component_list": { "declaration": { @@ -359,6 +361,7 @@ "y": { "type_specifier": "Interfaces.BooleanOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Equal", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json index 245f50ff..bbaa1997 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json @@ -278,6 +278,7 @@ "type_prefix": "parameter", "type_specifier": "Integer", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Constant", "single_component_list": { "declaration": { @@ -295,6 +296,7 @@ "y": { "type_specifier": "Interfaces.IntegerOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Constant", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/And.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/And.json index 91c572e3..f3d16f9d 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/And.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/And.json @@ -242,6 +242,7 @@ "u1": { "type_specifier": "Interfaces.BooleanInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "And", "single_component_list": { "declaration": { @@ -302,6 +303,7 @@ "u2": { "type_specifier": "Interfaces.BooleanInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "And", "single_component_list": { "declaration": { @@ -362,6 +364,7 @@ "y": { "type_specifier": "Interfaces.BooleanOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "And", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Not.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Not.json index c396ca57..27f9b49f 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Not.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Not.json @@ -195,6 +195,7 @@ "u": { "type_specifier": "Interfaces.BooleanInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Not", "single_component_list": { "declaration": { @@ -255,6 +256,7 @@ "y": { "type_specifier": "Interfaces.BooleanOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Not", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Or.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Or.json index 47577de7..f68902f7 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Or.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Or.json @@ -242,6 +242,7 @@ "u1": { "type_specifier": "Interfaces.BooleanInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Or", "single_component_list": { "declaration": { @@ -302,6 +303,7 @@ "u2": { "type_specifier": "Interfaces.BooleanInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Or", "single_component_list": { "declaration": { @@ -362,6 +364,7 @@ "y": { "type_specifier": "Interfaces.BooleanOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Or", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json index 8e8d748f..122df14d 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json @@ -301,6 +301,7 @@ "type_prefix": "parameter", "type_specifier": "Boolean", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Constant", "single_component_list": { "declaration": { @@ -318,6 +319,7 @@ "y": { "type_specifier": "Interfaces.BooleanOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Constant", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json index bcded9a6..b20ca5e3 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json @@ -265,6 +265,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "TrueDelay", "single_component_list": { "declaration": { @@ -315,6 +316,7 @@ "type_prefix": "parameter", "type_specifier": "Boolean", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "TrueDelay", "single_component_list": { "declaration": { @@ -338,6 +340,7 @@ "u": { "type_specifier": "Interfaces.BooleanInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "TrueDelay", "single_component_list": { "declaration": { @@ -398,6 +401,7 @@ "y": { "type_specifier": "Interfaces.BooleanOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "TrueDelay", "single_component_list": { "declaration": { @@ -459,6 +463,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueDelay", "single_component_list": { "declaration": { @@ -521,6 +526,7 @@ "t_next": { "type_specifier": "Real", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueDelay", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json index 5862a8ea..9cee7652 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json @@ -387,6 +387,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "TrueFalseHold", "single_component_list": { "declaration": { @@ -437,6 +438,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "TrueFalseHold", "single_component_list": { "declaration": { @@ -490,6 +492,7 @@ "u": { "type_specifier": "Interfaces.BooleanInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "TrueFalseHold", "single_component_list": { "declaration": { @@ -574,6 +577,7 @@ "y": { "type_specifier": "Interfaces.BooleanOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "TrueFalseHold", "single_component_list": { "declaration": { @@ -658,6 +662,7 @@ "onDel1": { "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueFalseHold", "single_component_list": { "declaration": { @@ -735,6 +740,7 @@ "onDel2": { "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueFalseHold", "single_component_list": { "declaration": { @@ -812,6 +818,7 @@ "stateGraphRoot": { "type_specifier": "Modelica.StateGraph.StateGraphRoot", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueFalseHold", "single_component_list": { "declaration": { @@ -872,6 +879,7 @@ "outputFalse": { "type_specifier": "Modelica.StateGraph.StepWithSignal", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueFalseHold", "single_component_list": { "declaration": { @@ -962,6 +970,7 @@ "toTrue": { "type_specifier": "Modelica.StateGraph.TransitionWithSignal", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueFalseHold", "single_component_list": { "declaration": { @@ -1022,6 +1031,7 @@ "notU": { "type_specifier": "CDL.Logical.Not", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueFalseHold", "single_component_list": { "declaration": { @@ -1082,6 +1092,7 @@ "outputTrue": { "type_specifier": "Modelica.StateGraph.StepWithSignal", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueFalseHold", "single_component_list": { "declaration": { @@ -1172,6 +1183,7 @@ "toFalse": { "type_specifier": "Modelica.StateGraph.TransitionWithSignal", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueFalseHold", "single_component_list": { "declaration": { @@ -1232,6 +1244,7 @@ "and2": { "type_specifier": "CDL.Logical.And", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueFalseHold", "single_component_list": { "declaration": { @@ -1292,6 +1305,7 @@ "and1": { "type_specifier": "CDL.Logical.And", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueFalseHold", "single_component_list": { "declaration": { @@ -1352,6 +1366,7 @@ "initialStep": { "type_specifier": "Modelica.StateGraph.InitialStep", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueFalseHold", "single_component_list": { "declaration": { @@ -1442,6 +1457,7 @@ "toTrue1": { "type_specifier": "Modelica.StateGraph.TransitionWithSignal", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueFalseHold", "single_component_list": { "declaration": { @@ -1502,6 +1518,7 @@ "toFalse1": { "type_specifier": "Modelica.StateGraph.TransitionWithSignal", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueFalseHold", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json index 00939c9a..ceb78650 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json @@ -265,6 +265,7 @@ "type_prefix": "parameter", "type_specifier": "Real", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "TrueHoldWithReset", "single_component_list": { "declaration": { @@ -314,6 +315,7 @@ "u": { "type_specifier": "Interfaces.BooleanInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "TrueHoldWithReset", "single_component_list": { "declaration": { @@ -374,6 +376,7 @@ "y": { "type_specifier": "Interfaces.BooleanOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "TrueHoldWithReset", "single_component_list": { "declaration": { @@ -434,6 +437,7 @@ "stateGraphRoot": { "type_specifier": "Modelica.StateGraph.StateGraphRoot", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueHoldWithReset", "single_component_list": { "declaration": { @@ -494,6 +498,7 @@ "onDelay": { "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueHoldWithReset", "single_component_list": { "declaration": { @@ -572,6 +577,7 @@ "initialStep": { "type_specifier": "Modelica.StateGraph.InitialStep", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueHoldWithReset", "single_component_list": { "declaration": { @@ -662,6 +668,7 @@ "outputTrue": { "type_specifier": "Modelica.StateGraph.StepWithSignal", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueHoldWithReset", "single_component_list": { "declaration": { @@ -752,6 +759,7 @@ "toOutputTrue": { "type_specifier": "Modelica.StateGraph.TransitionWithSignal", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueHoldWithReset", "single_component_list": { "declaration": { @@ -812,6 +820,7 @@ "toInitial": { "type_specifier": "Modelica.StateGraph.TransitionWithSignal", "type": "element", + "compositionSpecifier": "protectec", "long_class_specifier_identifier": "TrueHoldWithReset", "single_component_list": { "declaration": { diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Utilities/Assert.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Utilities/Assert.json index 6855805d..8c6f64db 100644 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Utilities/Assert.json +++ b/test/reference/objects/Buildings/Controls/OBC/CDL/Utilities/Assert.json @@ -241,6 +241,7 @@ "type_prefix": "parameter", "type_specifier": "String", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Assert", "single_component_list": { "declaration": { @@ -258,6 +259,7 @@ "u": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "Assert", "single_component_list": { "declaration": { diff --git a/test/reference/objects/test/FromModelica/BlockInputOutput.json b/test/reference/objects/test/FromModelica/BlockInputOutput.json index ea68f4d2..c2b09a50 100644 --- a/test/reference/objects/test/FromModelica/BlockInputOutput.json +++ b/test/reference/objects/test/FromModelica/BlockInputOutput.json @@ -1 +1 @@ -{"instances":{"BlockInputOutput":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo","type":"long_class_specifier"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"BlockInputOutput","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"BlockInputOutput","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"BlockInputOutput":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo","type":"long_class_specifier"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"BlockInputOutput","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"BlockInputOutput","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/BlockWithBlock1.json b/test/reference/objects/test/FromModelica/BlockWithBlock1.json index 8d6e9e36..5754cdf9 100644 --- a/test/reference/objects/test/FromModelica/BlockWithBlock1.json +++ b/test/reference/objects/test/FromModelica/BlockWithBlock1.json @@ -1 +1 @@ -{"instances":{"BlockWithBlock1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo","type":"long_class_specifier"},"bloPub":{"type_specifier":"Block1","type":"element","long_class_specifier_identifier":"BlockWithBlock1","single_component_list":{"declaration":{"identifier":"bloPub"},"description":{"description_string":"A public block"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo"},"bloPro":{"type_specifier":"Block1","type":"element","long_class_specifier_identifier":"BlockWithBlock1","single_component_list":{"declaration":{"identifier":"bloPro"},"description":{"description_string":"A protected block"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"BlockWithBlock1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo","type":"long_class_specifier"},"bloPub":{"type_specifier":"Block1","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"BlockWithBlock1","single_component_list":{"declaration":{"identifier":"bloPub"},"description":{"description_string":"A public block"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo"},"bloPro":{"type_specifier":"Block1","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"BlockWithBlock1","single_component_list":{"declaration":{"identifier":"bloPro"},"description":{"description_string":"A protected block"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ConditionalBlock.json b/test/reference/objects/test/FromModelica/ConditionalBlock.json index 9cf6a74d..124506ed 100644 --- a/test/reference/objects/test/FromModelica/ConditionalBlock.json +++ b/test/reference/objects/test/FromModelica/ConditionalBlock.json @@ -1 +1 @@ -{"instances":{"ConditionalBlock":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo","type":"long_class_specifier"},"enaBlo":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"enaBlo","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Flag for enabling instance"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"u"},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Abs","type":"element","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"abs"},"condition_attribute":{"expression":{"simple_expression":"not enaBlo"}},"description":{"description_string":"Instance could be conditional disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"ConditionalBlock":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo","type":"long_class_specifier"},"enaBlo":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"enaBlo","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Flag for enabling instance"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"u"},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Abs","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"abs"},"condition_attribute":{"expression":{"simple_expression":"not enaBlo"}},"description":{"description_string":"Instance could be conditional disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/CustomPWithLimiter.json b/test/reference/objects/test/FromModelica/CustomPWithLimiter.json index 34dc7435..5b2c9638 100644 --- a/test/reference/objects/test/FromModelica/CustomPWithLimiter.json +++ b/test/reference/objects/test/FromModelica/CustomPWithLimiter.json @@ -1 +1 @@ -{"instances":{"CustomPWithLimiter":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nBlock that outputs y = min(yMax, k*e),\nwhere\nyMax and e are real-valued input signals and\nk is a parameter.\n

\n\""}}}}}]}}}}],"semantics":{}},"k":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}},"description":{"description_string":"Constant gain"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"yMax":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"yMax"},"description":{"description_string":"Maximum value of output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"e":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"e"},"description":{"description_string":"Control error","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Control signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter","type":"element","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"minValue":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Min","type":"element","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"minValue"},"description":{"description_string":"Outputs the minimum of its inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-10},{"x":40,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-10},{"x":40,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"}},"requiredReferences":{"connections":{"yMax":["minValue.u1"],"e":["gain.u"],"gain.y":["minValue.u2"],"minValue.y":["y"]}}} \ No newline at end of file +{"instances":{"CustomPWithLimiter":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nBlock that outputs y = min(yMax, k*e),\nwhere\nyMax and e are real-valued input signals and\nk is a parameter.\n

\n\""}}}}}]}}}}],"semantics":{}},"k":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}},"description":{"description_string":"Constant gain"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"yMax":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"yMax"},"description":{"description_string":"Maximum value of output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"e":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"e"},"description":{"description_string":"Control error","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Control signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"minValue":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Min","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"minValue"},"description":{"description_string":"Outputs the minimum of its inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-10},{"x":40,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-10},{"x":40,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"}},"requiredReferences":{"connections":{"yMax":["minValue.u1"],"e":["gain.u"],"gain.y":["minValue.u2"],"minValue.y":["y"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/DynamicTextColor.json b/test/reference/objects/test/FromModelica/DynamicTextColor.json index bff97502..29a5704d 100644 --- a/test/reference/objects/test/FromModelica/DynamicTextColor.json +++ b/test/reference/objects/test/FromModelica/DynamicTextColor.json @@ -1 +1 @@ -{"instances":{"DynamicTextColor":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"preserveAspectRatio":"true"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Text","attribute":{"extent":[{"x":-90,"y":80},{"x":-46,"y":54}],"textString":"\"true\"","lineColor":{"r":0,"g":0,"b":null}}},{"name":"Text","attribute":{"extent":[{"x":-150,"y":150},{"x":150,"y":110}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}}],"semantics":{}},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.Boolean","type":"element","long_class_specifier_identifier":"DynamicTextColor","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"DynamicTextColor":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"preserveAspectRatio":"true"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Text","attribute":{"extent":[{"x":-90,"y":80},{"x":-46,"y":54}],"textString":"\"true\"","lineColor":{"r":0,"g":0,"b":null}}},{"name":"Text","attribute":{"extent":[{"x":-150,"y":150},{"x":150,"y":110}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}}],"semantics":{}},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"DynamicTextColor","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Enable.json b/test/reference/objects/test/FromModelica/Enable.json index c367ae02..f766150a 100644 --- a/test/reference/objects/test/FromModelica/Enable.json +++ b/test/reference/objects/test/FromModelica/Enable.json @@ -1 +1 @@ -{"instances":{"Enable":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"enaDis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-100,"y":-140},{"x":100,"y":140}]}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-140},{"x":100,"y":140}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":180},{"x":100,"y":140}],"textString":"\"%name\"","textColor":{"r":0,"g":0,"b":255}}},{"name":"Line","attribute":{"points":[{"x":0,"y":60},{"x":80,"y":60}],"color":{"r":0,"g":0,"b":127},"thickness":0.5}},{"name":"Line","attribute":{"points":[{"x":-80,"y":-60},{"x":0,"y":-60},{"x":0,"y":60}],"color":{"r":0,"g":0,"b":127},"thickness":0.5}},{"name":"Text","attribute":{"extent":[{"x":-98,"y":38},{"x":-56,"y":24}],"textString":"\"u1SupFan\"","textColor":{"r":255,"g":0,"b":255},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":18},{"x":-44,"y":4}],"textString":"\"uFreProSta\"","textColor":{"r":255,"g":127,"b":0},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":68},{"x":-56,"y":54}],"textString":"\"hOutCut\"","textColor":{"r":0,"g":0,"b":127},"visible":"use_enthalpy","pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":86},{"x":-70,"y":72}],"textString":"\"hOut\"","textColor":{"r":0,"g":0,"b":127},"visible":"use_enthalpy","pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":116},{"x":-56,"y":102}],"textString":"\"TOutCut\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":138},{"x":-72,"y":124}],"textString":"\"TOut\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-100},{"x":-32,"y":-118}],"textString":"\"uRetDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-10},{"x":-28,"y":-28}],"textString":"\"uOutDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-30},{"x":-28,"y":-48}],"textString":"\"uOutDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-80},{"x":-12,"y":-98}],"textString":"\"uRetDamPhy_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-120},{"x":-32,"y":-138}],"textString":"\"uRetDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":110},{"x":96,"y":92}],"textString":"\"yOutDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":12},{"x":96,"y":-6}],"textString":"\"yRetDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":-88},{"x":96,"y":-106}],"textString":"\"yRetDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-260,"y":-280},{"x":240,"y":280}],"preserveAspectRatio":"false","initialScale":0.05}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":-2},{"x":220,"y":-250}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":58},{"x":220,"y":6}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":118},{"x":220,"y":66}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":258},{"x":220,"y":130}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":158},{"x":204,"y":138}],"textString":"\"Outdoor air\nconditions\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":52},{"x":298,"y":18}],"textString":"\"Freeze protection -\ndisable if stage1\nand above\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":-198},{"x":288,"y":-246}],"textString":"\"Damper position\nlimit assignments\nwith delays\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":84},{"x":214,"y":74}],"textString":"\"Supply fan status\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is a multi zone VAV AHU economizer enable/disable sequence\nbased on the Section 5.16.7 of the ASHRAE Guideline 36, May 2020. Additional\nconditions included in the sequence are: freeze protection (freeze protection\nstage 0-3, see Section 5.16.12), supply fan status (on or off, see Section 5.16.5).\n

\n

\nThe economizer is disabled whenever the outdoor air conditions\nexceed the economizer high limit setpoint.\nThis sequence allows for all device types listed in\nASHRAE 90.1-2013 and Title 24-2013.\n

\n

\nIn addition, the economizer gets disabled without a delay whenever any of the\nfollowing is true:\n

\n\n

\nThe following state machine chart illustrates the transitions between enabling and disabling:\n

\n

\n\\\"Image\n

\n

\nAfter the disable signal is activated, the following procedure is applied, in order to\nprevent pressure fluctuations in the HVAC system:\n

\n\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\n\n\""}}}}}]}}}}],"semantics":{}},"use_enthalpy":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"use_enthalpy","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Set to true to evaluate outdoor air (OA) enthalpy in addition to temperature","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Conditional\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Conditional\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delTOutHis":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delTOutHis","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"TemperatureDifference\""}}}}}],"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Delta between the temperature hysteresis high and low limit","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delEntHis":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delEntHis","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}],"equal":true,"expression":{"simple_expression":"1000"}}},"description":{"description_string":"Delta between the enthalpy hysteresis high and low limits","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"use_enthalpy"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"use_enthalpy"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"retDamFulOpeTim":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"retDamFulOpeTim","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"s\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"Time\""}}}}}],"equal":true,"expression":{"simple_expression":"180"}}},"description":{"description_string":"Time period to keep RA damper fully open before releasing it for minimum outdoor airflow control\n at disable to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"disDel":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"disDel","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"s\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"Time\""}}}}}],"equal":true,"expression":{"simple_expression":"15"}}},"description":{"description_string":"Short time delay before closing the OA damper at disable to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"Outdoor air temperature","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":232},{"x":-260,"y":272}]},"iconTransformation":{"extent":[{"x":-140,"y":110},{"x":-100,"y":150}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":232},{"x":-260,"y":272}]},"iconTransformation":{"extent":[{"x":-140,"y":110},{"x":-100,"y":150}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Outdoor air enthalpy","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":152},{"x":-260,"y":192}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":152},{"x":-260,"y":192}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutCut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutCut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"OA temperature high limit cutoff. For differential dry bulb temperature condition use return air temperature measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":192},{"x":-260,"y":232}]},"iconTransformation":{"extent":[{"x":-140,"y":90},{"x":-100,"y":130}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":192},{"x":-260,"y":232}]},"iconTransformation":{"extent":[{"x":-140,"y":90},{"x":-100,"y":130}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutCut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutCut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"OA enthalpy high limit cutoff. For differential enthalpy use return air enthalpy measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":112},{"x":-260,"y":152}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":112},{"x":-260,"y":152}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uOutDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uOutDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum outdoor air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-98},{"x":-260,"y":-58}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-98},{"x":-260,"y":-58}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uOutDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uOutDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum outdoor air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-58},{"x":-260,"y":-18}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-58},{"x":-260,"y":-18}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-178},{"x":-260,"y":-138}]},"iconTransformation":{"extent":[{"x":-140,"y":-130},{"x":-100,"y":-90}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-178},{"x":-260,"y":-138}]},"iconTransformation":{"extent":[{"x":-140,"y":-130},{"x":-100,"y":-90}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-218},{"x":-260,"y":-178}]},"iconTransformation":{"extent":[{"x":-140,"y":-150},{"x":-100,"y":-110}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-218},{"x":-260,"y":-178}]},"iconTransformation":{"extent":[{"x":-140,"y":-150},{"x":-100,"y":-110}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDamPhy_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDamPhy_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Physical maximum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-138},{"x":-260,"y":-98}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-138},{"x":-260,"y":-98}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"u1SupFan":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"u1SupFan"},"description":{"description_string":"Supply fan proven on","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":62},{"x":-260,"y":102}]},"iconTransformation":{"extent":[{"x":-140,"y":10},{"x":-100,"y":50}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":62},{"x":-260,"y":102}]},"iconTransformation":{"extent":[{"x":-140,"y":10},{"x":-100,"y":50}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uFreProSta":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uFreProSta"},"description":{"description_string":"Freeze protection stage status signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":22},{"x":-260,"y":62}]},"iconTransformation":{"extent":[{"x":-140,"y":-10},{"x":-100,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":22},{"x":-260,"y":62}]},"iconTransformation":{"extent":[{"x":-140,"y":-10},{"x":-100,"y":30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yOutDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yOutDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum outdoor air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":22},{"x":280,"y":62}]},"iconTransformation":{"extent":[{"x":100,"y":80},{"x":140,"y":120}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":22},{"x":280,"y":62}]},"iconTransformation":{"extent":[{"x":100,"y":80},{"x":140,"y":120}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yRetDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yRetDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum return air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-98},{"x":280,"y":-58}]},"iconTransformation":{"extent":[{"x":100,"y":-120},{"x":140,"y":-80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-98},{"x":280,"y":-58}]},"iconTransformation":{"extent":[{"x":100,"y":-120},{"x":140,"y":-80}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yRetDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yRetDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum return air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-38},{"x":280,"y":2}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-38},{"x":280,"y":2}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"truFalHol":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueFalseHold","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"truFalHol","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"trueHoldDuration","modification":{"equal":true,"expression":{"simple_expression":"600"}}}}}]}},"description":{"description_string":"Economizer should not be enabled or disabled within 10 minutes of change","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":182},{"x":40,"y":202}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":182},{"x":40,"y":202}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"andEnaDis":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"andEnaDis"},"description":{"description_string":"Check freeze protection stage and zone state","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":12},{"x":80,"y":32}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":12},{"x":80,"y":32}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutHigLimCutHig":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutHigLimCutHig","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"TemperatureDifference\""}}}}}],"equal":true,"expression":{"simple_expression":"0"}}},"description":{"description_string":"Hysteresis high limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutHigLimCutLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutHigLimCutLow","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutHig -delTOutHis"}}},"description":{"description_string":"Hysteresis low limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutHigLimCutHig":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutHigLimCutHig","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}],"equal":true,"expression":{"simple_expression":"0"}}},"description":{"description_string":"Hysteresis block high limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutHigLimCutLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutHigLimCutLow","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutHig -delEntHis"}}},"description":{"description_string":"Hysteresis block low limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"sub2":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Subtract","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"sub2"},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Add block determines difference between hOut and hOutCut","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":140},{"x":-180,"y":160}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":140},{"x":-180,"y":160}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"sub1":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Subtract","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"sub1"},"description":{"description_string":"Add block determines difference between TOut and TOutCut","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":220},{"x":-180,"y":240}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":220},{"x":-180,"y":240}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hysOutTem":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Hysteresis","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hysOutTem","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutLow"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutHig"}}}}}]}},"description":{"description_string":"Outdoor air temperature hysteresis for both fixed and differential dry bulb temperature cutoff conditions","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":220},{"x":-140,"y":240}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":220},{"x":-140,"y":240}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hysOutEnt":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Hysteresis","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hysOutEnt","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutLow"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutHig"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Outdoor air enthalpy hysteresis for both fixed and differential enthalpy cutoff conditions","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":140},{"x":-140,"y":160}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":140},{"x":-140,"y":160}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"outDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Switch","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"outDamSwitch"},"description":{"description_string":"Set maximum OA damper position to minimum at disable (after a given time delay)","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":82,"y":-78},{"x":102,"y":-58}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":82,"y":-78},{"x":102,"y":-58}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"retDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Switch","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"retDamSwitch"},"description":{"description_string":"Set minimum RA damper position to maximum at disable","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-176},{"x":0,"y":-156}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-176},{"x":0,"y":-156}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"maxRetDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Switch","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"maxRetDamSwitch"},"description":{"description_string":"Keep maximum RA damper position at physical maximum for a short time period after disable signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-136},{"x":80,"y":-116}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-136},{"x":80,"y":-116}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"minRetDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Switch","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"minRetDamSwitch"},"description":{"description_string":"Keep minimum RA damper position at physical maximum for a short time period after disable","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-178},{"x":80,"y":-158}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-178},{"x":80,"y":-158}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"not2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Not","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"not2"},"description":{"description_string":"Logical not that starts the timer at disable signal ","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-58},{"x":-40,"y":-38}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-58},{"x":-40,"y":-38}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and2"},"description":{"description_string":"Logical and","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":160,"y":-100},{"x":180,"y":-80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":160,"y":-100},{"x":180,"y":-80}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and1"},"description":{"description_string":"Check supply fan status","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":80},{"x":40,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":80},{"x":40,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and3":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and3"},"description":{"description_string":"Check if delay time has been passed after economizer being disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":40,"y":-54},{"x":60,"y":-34}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":40,"y":-54},{"x":60,"y":-34}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"intEqu":{"type_specifier":"Buildings.Controls.OBC.CDL.Integers.Equal","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"intEqu"},"description":{"description_string":"Logical block to check if the freeze protection is deactivated","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-78,"y":32},{"x":-58,"y":52}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-78,"y":32},{"x":-58,"y":52}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delOutDamOsc":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delOutDamOsc","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"disDel"}}}}}]}},"description":{"description_string":"Small delay before closing the outdoor air damper to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-58},{"x":0,"y":-38}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-58},{"x":0,"y":-38}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delRetDam":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delRetDam","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"retDamFulOpeTim"}}}}}]}},"description":{"description_string":"Keep return damper open to its physical maximum for a short period of time before closing the outdoor air damper and resuming the maximum return air damper position, per G36 Part N7","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-108},{"x":0,"y":-88}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-108},{"x":0,"y":-88}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"not1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Not","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"not1"},"description":{"description_string":"Logical not","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-108},{"x":40,"y":-88}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-108},{"x":40,"y":-88}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"conInt":{"type_specifier":"Buildings.Controls.OBC.CDL.Integers.Sources.Constant","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"conInt","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeProtectionStages.stage0"}}}}}]}},"description":{"description_string":"Integer constant, stage 0","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-118,"y":12},{"x":-98,"y":32}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-118,"y":12},{"x":-98,"y":32}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"entSubst1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"entSubst1","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"not use_enthalpy"}},"description":{"description_string":"Deactivates outdoor air enthalpy condition if there is no enthalpy sensor","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":180},{"x":-140,"y":200}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":180},{"x":-140,"y":200}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"or2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Or","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"or2"},"description":{"description_string":"Check if either the temperature or the enthalpy condition is satisfied","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":182},{"x":-40,"y":202}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":182},{"x":-40,"y":202}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"}},"requiredReferences":{"connections":{"TOut":["sub1.u1"],"TOutCut":["sub1.u2"],"sub1.y":["hysOutTem.u"],"hOut":["sub2.u1"],"hOutCut":["sub2.u2"],"sub2.y":["hysOutEnt.u"],"uOutDam_min":["outDamSwitch.u1"],"uOutDam_max":["outDamSwitch.u3"],"uRetDamPhy_max":["maxRetDamSwitch.u1","minRetDamSwitch.u1"],"uRetDam_max":["maxRetDamSwitch.u3","retDamSwitch.u1"],"andEnaDis.y":["not2.u"],"maxRetDamSwitch.y":["yRetDam_max"],"and2.y":["maxRetDamSwitch.u2","minRetDamSwitch.u2"],"not2.y":["retDamSwitch.u2","and3.u1","delRetDam.u"],"uRetDam_min":["retDamSwitch.u3"],"retDamSwitch.y":["minRetDamSwitch.u3"],"truFalHol.y":["and1.u1"],"and1.y":["andEnaDis.u1"],"u1SupFan":["and1.u2"],"outDamSwitch.u2":["and3.y"],"and2.u1":["not2.y"],"and3.u2":["delOutDamOsc.y"],"delOutDamOsc.u":["not2.y"],"delRetDam.y":["not1.u"],"not1.y":["and2.u2"],"uFreProSta":["intEqu.u1"],"conInt.y":["intEqu.u2"],"intEqu.y":["andEnaDis.u2"],"outDamSwitch.y":["yOutDam_max"],"minRetDamSwitch.y":["yRetDam_min"],"or2.y":["truFalHol.u"],"hysOutTem.y":["or2.u1"],"hysOutEnt.y":["or2.u2"],"entSubst1.y":["or2.u2"]}}} \ No newline at end of file +{"instances":{"Enable":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"enaDis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-100,"y":-140},{"x":100,"y":140}]}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-140},{"x":100,"y":140}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":180},{"x":100,"y":140}],"textString":"\"%name\"","textColor":{"r":0,"g":0,"b":255}}},{"name":"Line","attribute":{"points":[{"x":0,"y":60},{"x":80,"y":60}],"color":{"r":0,"g":0,"b":127},"thickness":0.5}},{"name":"Line","attribute":{"points":[{"x":-80,"y":-60},{"x":0,"y":-60},{"x":0,"y":60}],"color":{"r":0,"g":0,"b":127},"thickness":0.5}},{"name":"Text","attribute":{"extent":[{"x":-98,"y":38},{"x":-56,"y":24}],"textString":"\"u1SupFan\"","textColor":{"r":255,"g":0,"b":255},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":18},{"x":-44,"y":4}],"textString":"\"uFreProSta\"","textColor":{"r":255,"g":127,"b":0},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":68},{"x":-56,"y":54}],"textString":"\"hOutCut\"","textColor":{"r":0,"g":0,"b":127},"visible":"use_enthalpy","pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":86},{"x":-70,"y":72}],"textString":"\"hOut\"","textColor":{"r":0,"g":0,"b":127},"visible":"use_enthalpy","pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":116},{"x":-56,"y":102}],"textString":"\"TOutCut\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":138},{"x":-72,"y":124}],"textString":"\"TOut\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-100},{"x":-32,"y":-118}],"textString":"\"uRetDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-10},{"x":-28,"y":-28}],"textString":"\"uOutDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-30},{"x":-28,"y":-48}],"textString":"\"uOutDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-80},{"x":-12,"y":-98}],"textString":"\"uRetDamPhy_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-120},{"x":-32,"y":-138}],"textString":"\"uRetDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":110},{"x":96,"y":92}],"textString":"\"yOutDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":12},{"x":96,"y":-6}],"textString":"\"yRetDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":-88},{"x":96,"y":-106}],"textString":"\"yRetDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-260,"y":-280},{"x":240,"y":280}],"preserveAspectRatio":"false","initialScale":0.05}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":-2},{"x":220,"y":-250}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":58},{"x":220,"y":6}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":118},{"x":220,"y":66}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":258},{"x":220,"y":130}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":158},{"x":204,"y":138}],"textString":"\"Outdoor air\nconditions\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":52},{"x":298,"y":18}],"textString":"\"Freeze protection -\ndisable if stage1\nand above\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":-198},{"x":288,"y":-246}],"textString":"\"Damper position\nlimit assignments\nwith delays\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":84},{"x":214,"y":74}],"textString":"\"Supply fan status\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is a multi zone VAV AHU economizer enable/disable sequence\nbased on the Section 5.16.7 of the ASHRAE Guideline 36, May 2020. Additional\nconditions included in the sequence are: freeze protection (freeze protection\nstage 0-3, see Section 5.16.12), supply fan status (on or off, see Section 5.16.5).\n

\n

\nThe economizer is disabled whenever the outdoor air conditions\nexceed the economizer high limit setpoint.\nThis sequence allows for all device types listed in\nASHRAE 90.1-2013 and Title 24-2013.\n

\n

\nIn addition, the economizer gets disabled without a delay whenever any of the\nfollowing is true:\n

\n\n

\nThe following state machine chart illustrates the transitions between enabling and disabling:\n

\n

\n\\\"Image\n

\n

\nAfter the disable signal is activated, the following procedure is applied, in order to\nprevent pressure fluctuations in the HVAC system:\n

\n\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\n\n\""}}}}}]}}}}],"semantics":{}},"use_enthalpy":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"use_enthalpy","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Set to true to evaluate outdoor air (OA) enthalpy in addition to temperature","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Conditional\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Conditional\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delTOutHis":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delTOutHis","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"TemperatureDifference\""}}}}}],"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Delta between the temperature hysteresis high and low limit","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delEntHis":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delEntHis","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}],"equal":true,"expression":{"simple_expression":"1000"}}},"description":{"description_string":"Delta between the enthalpy hysteresis high and low limits","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"use_enthalpy"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"use_enthalpy"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"retDamFulOpeTim":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"retDamFulOpeTim","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"s\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"Time\""}}}}}],"equal":true,"expression":{"simple_expression":"180"}}},"description":{"description_string":"Time period to keep RA damper fully open before releasing it for minimum outdoor airflow control\n at disable to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"disDel":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"disDel","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"s\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"Time\""}}}}}],"equal":true,"expression":{"simple_expression":"15"}}},"description":{"description_string":"Short time delay before closing the OA damper at disable to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"Outdoor air temperature","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":232},{"x":-260,"y":272}]},"iconTransformation":{"extent":[{"x":-140,"y":110},{"x":-100,"y":150}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":232},{"x":-260,"y":272}]},"iconTransformation":{"extent":[{"x":-140,"y":110},{"x":-100,"y":150}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Outdoor air enthalpy","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":152},{"x":-260,"y":192}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":152},{"x":-260,"y":192}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutCut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutCut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"OA temperature high limit cutoff. For differential dry bulb temperature condition use return air temperature measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":192},{"x":-260,"y":232}]},"iconTransformation":{"extent":[{"x":-140,"y":90},{"x":-100,"y":130}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":192},{"x":-260,"y":232}]},"iconTransformation":{"extent":[{"x":-140,"y":90},{"x":-100,"y":130}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutCut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutCut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"OA enthalpy high limit cutoff. For differential enthalpy use return air enthalpy measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":112},{"x":-260,"y":152}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":112},{"x":-260,"y":152}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uOutDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uOutDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum outdoor air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-98},{"x":-260,"y":-58}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-98},{"x":-260,"y":-58}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uOutDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uOutDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum outdoor air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-58},{"x":-260,"y":-18}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-58},{"x":-260,"y":-18}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-178},{"x":-260,"y":-138}]},"iconTransformation":{"extent":[{"x":-140,"y":-130},{"x":-100,"y":-90}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-178},{"x":-260,"y":-138}]},"iconTransformation":{"extent":[{"x":-140,"y":-130},{"x":-100,"y":-90}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-218},{"x":-260,"y":-178}]},"iconTransformation":{"extent":[{"x":-140,"y":-150},{"x":-100,"y":-110}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-218},{"x":-260,"y":-178}]},"iconTransformation":{"extent":[{"x":-140,"y":-150},{"x":-100,"y":-110}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDamPhy_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDamPhy_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Physical maximum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-138},{"x":-260,"y":-98}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-138},{"x":-260,"y":-98}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"u1SupFan":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"u1SupFan"},"description":{"description_string":"Supply fan proven on","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":62},{"x":-260,"y":102}]},"iconTransformation":{"extent":[{"x":-140,"y":10},{"x":-100,"y":50}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":62},{"x":-260,"y":102}]},"iconTransformation":{"extent":[{"x":-140,"y":10},{"x":-100,"y":50}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uFreProSta":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uFreProSta"},"description":{"description_string":"Freeze protection stage status signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":22},{"x":-260,"y":62}]},"iconTransformation":{"extent":[{"x":-140,"y":-10},{"x":-100,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":22},{"x":-260,"y":62}]},"iconTransformation":{"extent":[{"x":-140,"y":-10},{"x":-100,"y":30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yOutDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yOutDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum outdoor air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":22},{"x":280,"y":62}]},"iconTransformation":{"extent":[{"x":100,"y":80},{"x":140,"y":120}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":22},{"x":280,"y":62}]},"iconTransformation":{"extent":[{"x":100,"y":80},{"x":140,"y":120}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yRetDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yRetDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum return air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-98},{"x":280,"y":-58}]},"iconTransformation":{"extent":[{"x":100,"y":-120},{"x":140,"y":-80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-98},{"x":280,"y":-58}]},"iconTransformation":{"extent":[{"x":100,"y":-120},{"x":140,"y":-80}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yRetDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yRetDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum return air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-38},{"x":280,"y":2}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-38},{"x":280,"y":2}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"truFalHol":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueFalseHold","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"truFalHol","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"trueHoldDuration","modification":{"equal":true,"expression":{"simple_expression":"600"}}}}}]}},"description":{"description_string":"Economizer should not be enabled or disabled within 10 minutes of change","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":182},{"x":40,"y":202}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":182},{"x":40,"y":202}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"andEnaDis":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"andEnaDis"},"description":{"description_string":"Check freeze protection stage and zone state","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":12},{"x":80,"y":32}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":12},{"x":80,"y":32}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutHigLimCutHig":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutHigLimCutHig","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"TemperatureDifference\""}}}}}],"equal":true,"expression":{"simple_expression":"0"}}},"description":{"description_string":"Hysteresis high limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutHigLimCutLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutHigLimCutLow","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutHig -delTOutHis"}}},"description":{"description_string":"Hysteresis low limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutHigLimCutHig":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutHigLimCutHig","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}],"equal":true,"expression":{"simple_expression":"0"}}},"description":{"description_string":"Hysteresis block high limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutHigLimCutLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutHigLimCutLow","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutHig -delEntHis"}}},"description":{"description_string":"Hysteresis block low limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"sub2":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Subtract","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"sub2"},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Add block determines difference between hOut and hOutCut","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":140},{"x":-180,"y":160}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":140},{"x":-180,"y":160}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"sub1":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Subtract","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"sub1"},"description":{"description_string":"Add block determines difference between TOut and TOutCut","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":220},{"x":-180,"y":240}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":220},{"x":-180,"y":240}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hysOutTem":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Hysteresis","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hysOutTem","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutLow"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutHig"}}}}}]}},"description":{"description_string":"Outdoor air temperature hysteresis for both fixed and differential dry bulb temperature cutoff conditions","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":220},{"x":-140,"y":240}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":220},{"x":-140,"y":240}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hysOutEnt":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Hysteresis","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hysOutEnt","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutLow"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutHig"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Outdoor air enthalpy hysteresis for both fixed and differential enthalpy cutoff conditions","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":140},{"x":-140,"y":160}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":140},{"x":-140,"y":160}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"outDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Switch","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"outDamSwitch"},"description":{"description_string":"Set maximum OA damper position to minimum at disable (after a given time delay)","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":82,"y":-78},{"x":102,"y":-58}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":82,"y":-78},{"x":102,"y":-58}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"retDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Switch","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"retDamSwitch"},"description":{"description_string":"Set minimum RA damper position to maximum at disable","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-176},{"x":0,"y":-156}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-176},{"x":0,"y":-156}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"maxRetDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Switch","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"maxRetDamSwitch"},"description":{"description_string":"Keep maximum RA damper position at physical maximum for a short time period after disable signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-136},{"x":80,"y":-116}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-136},{"x":80,"y":-116}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"minRetDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Switch","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"minRetDamSwitch"},"description":{"description_string":"Keep minimum RA damper position at physical maximum for a short time period after disable","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-178},{"x":80,"y":-158}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-178},{"x":80,"y":-158}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"not2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Not","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"not2"},"description":{"description_string":"Logical not that starts the timer at disable signal ","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-58},{"x":-40,"y":-38}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-58},{"x":-40,"y":-38}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and2"},"description":{"description_string":"Logical and","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":160,"y":-100},{"x":180,"y":-80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":160,"y":-100},{"x":180,"y":-80}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and1"},"description":{"description_string":"Check supply fan status","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":80},{"x":40,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":80},{"x":40,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and3":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and3"},"description":{"description_string":"Check if delay time has been passed after economizer being disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":40,"y":-54},{"x":60,"y":-34}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":40,"y":-54},{"x":60,"y":-34}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"intEqu":{"type_specifier":"Buildings.Controls.OBC.CDL.Integers.Equal","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"intEqu"},"description":{"description_string":"Logical block to check if the freeze protection is deactivated","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-78,"y":32},{"x":-58,"y":52}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-78,"y":32},{"x":-58,"y":52}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delOutDamOsc":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delOutDamOsc","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"disDel"}}}}}]}},"description":{"description_string":"Small delay before closing the outdoor air damper to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-58},{"x":0,"y":-38}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-58},{"x":0,"y":-38}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delRetDam":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delRetDam","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"retDamFulOpeTim"}}}}}]}},"description":{"description_string":"Keep return damper open to its physical maximum for a short period of time before closing the outdoor air damper and resuming the maximum return air damper position, per G36 Part N7","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-108},{"x":0,"y":-88}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-108},{"x":0,"y":-88}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"not1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Not","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"not1"},"description":{"description_string":"Logical not","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-108},{"x":40,"y":-88}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-108},{"x":40,"y":-88}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"conInt":{"type_specifier":"Buildings.Controls.OBC.CDL.Integers.Sources.Constant","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"conInt","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeProtectionStages.stage0"}}}}}]}},"description":{"description_string":"Integer constant, stage 0","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-118,"y":12},{"x":-98,"y":32}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-118,"y":12},{"x":-98,"y":32}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"entSubst1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"entSubst1","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"not use_enthalpy"}},"description":{"description_string":"Deactivates outdoor air enthalpy condition if there is no enthalpy sensor","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":180},{"x":-140,"y":200}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":180},{"x":-140,"y":200}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"or2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Or","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"or2"},"description":{"description_string":"Check if either the temperature or the enthalpy condition is satisfied","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":182},{"x":-40,"y":202}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":182},{"x":-40,"y":202}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"}},"requiredReferences":{"connections":{"TOut":["sub1.u1"],"TOutCut":["sub1.u2"],"sub1.y":["hysOutTem.u"],"hOut":["sub2.u1"],"hOutCut":["sub2.u2"],"sub2.y":["hysOutEnt.u"],"uOutDam_min":["outDamSwitch.u1"],"uOutDam_max":["outDamSwitch.u3"],"uRetDamPhy_max":["maxRetDamSwitch.u1","minRetDamSwitch.u1"],"uRetDam_max":["maxRetDamSwitch.u3","retDamSwitch.u1"],"andEnaDis.y":["not2.u"],"maxRetDamSwitch.y":["yRetDam_max"],"and2.y":["maxRetDamSwitch.u2","minRetDamSwitch.u2"],"not2.y":["retDamSwitch.u2","and3.u1","delRetDam.u"],"uRetDam_min":["retDamSwitch.u3"],"retDamSwitch.y":["minRetDamSwitch.u3"],"truFalHol.y":["and1.u1"],"and1.y":["andEnaDis.u1"],"u1SupFan":["and1.u2"],"outDamSwitch.u2":["and3.y"],"and2.u1":["not2.y"],"and3.u2":["delOutDamOsc.y"],"delOutDamOsc.u":["not2.y"],"delRetDam.y":["not1.u"],"not1.y":["and2.u2"],"uFreProSta":["intEqu.u1"],"conInt.y":["intEqu.u2"],"intEqu.y":["andEnaDis.u2"],"outDamSwitch.y":["yOutDam_max"],"minRetDamSwitch.y":["yRetDam_min"],"or2.y":["truFalHol.u"],"hysOutTem.y":["or2.u1"],"hysOutEnt.y":["or2.u2"],"entSubst1.y":["or2.u2"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ExtendsClause_1.json b/test/reference/objects/test/FromModelica/ExtendsClause_1.json index cac5d722..9e08b435 100644 --- a/test/reference/objects/test/FromModelica/ExtendsClause_1.json +++ b/test/reference/objects/test/FromModelica/ExtendsClause_1.json @@ -1 +1 @@ -{"instances":{"ExtendsClause_1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter","type":"element","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Continuous.PID","class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Ti","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}}],"long_class_specifier_identifier":"ExtendsClause_1","within":"FromModelica"}]}} \ No newline at end of file +{"instances":{"ExtendsClause_1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Continuous.PID","class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Ti","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}}],"long_class_specifier_identifier":"ExtendsClause_1","within":"FromModelica","compositionSpecifier":"public"}]}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ExtendsClause_2.json b/test/reference/objects/test/FromModelica/ExtendsClause_2.json index 496c1bcc..f93703f7 100644 --- a/test/reference/objects/test/FromModelica/ExtendsClause_2.json +++ b/test/reference/objects/test/FromModelica/ExtendsClause_2.json @@ -1 +1 @@ -{"instances":{"ExtendsClause_2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter","type":"element","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Continuous.PID","class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Ti","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}}],"long_class_specifier_identifier":"ExtendsClause_2","within":"FromModelica"},{"name":"Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset","class_modification":[{"element_redeclaration":{"component_clause1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","component_declaration1":{"declaration":{"identifier":"onDelay","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"duration"}}}}}]}}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"duration","modification":{"equal":true,"expression":{"simple_expression":"300"}}}}}],"long_class_specifier_identifier":"ExtendsClause_2","within":"FromModelica"}]}} \ No newline at end of file +{"instances":{"ExtendsClause_2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Continuous.PID","class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Ti","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}}],"long_class_specifier_identifier":"ExtendsClause_2","within":"FromModelica","compositionSpecifier":"public"},{"name":"Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset","class_modification":[{"element_redeclaration":{"component_clause1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","component_declaration1":{"declaration":{"identifier":"onDelay","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"duration"}}}}}]}}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"duration","modification":{"equal":true,"expression":{"simple_expression":"300"}}}}}],"long_class_specifier_identifier":"ExtendsClause_2","within":"FromModelica","compositionSpecifier":"public"}]}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ExtendsClause_3.json b/test/reference/objects/test/FromModelica/ExtendsClause_3.json index 388fb350..996f6975 100644 --- a/test/reference/objects/test/FromModelica/ExtendsClause_3.json +++ b/test/reference/objects/test/FromModelica/ExtendsClause_3.json @@ -1 +1 @@ -{"instances":{"ExtendsClause_3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter","type":"element","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Constants","long_class_specifier_identifier":"ExtendsClause_3","within":"FromModelica"},{"name":"Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset","class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"duration","modification":{"equal":true,"expression":{"simple_expression":"300"}}}}}],"long_class_specifier_identifier":"ExtendsClause_3","within":"FromModelica"}]}} \ No newline at end of file +{"instances":{"ExtendsClause_3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","compositionSpecifier":"protectec","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Constants","long_class_specifier_identifier":"ExtendsClause_3","within":"FromModelica","compositionSpecifier":"public"},{"name":"Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset","class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"duration","modification":{"equal":true,"expression":{"simple_expression":"300"}}}}}],"long_class_specifier_identifier":"ExtendsClause_3","within":"FromModelica","compositionSpecifier":"public"}]}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json b/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json index 4a53a56b..facfac9f 100644 --- a/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json +++ b/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json @@ -1 +1 @@ -{"instances":{"MisplacedInfoWithComponent":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo","type":"long_class_specifier"},"bloPub":{"type_specifier":"Block1","type":"element","long_class_specifier_identifier":"MisplacedInfoWithComponent","single_component_list":{"declaration":{"identifier":"bloPub"},"description":{"description_string":"A public block","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"MisplacedInfoWithComponent":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo","type":"long_class_specifier"},"bloPub":{"type_specifier":"Block1","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithComponent","single_component_list":{"declaration":{"identifier":"bloPub"},"description":{"description_string":"A public block","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json b/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json index ab12664a..6ca5b93b 100644 --- a/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json +++ b/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json @@ -1 +1 @@ -{"instances":{"MisplacedInfoWithEquation":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo","type":"long_class_specifier"},"k":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}},"description":{"description_string":"Constant gain"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"y1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"y1"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"y2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"y2"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter","type":"element","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":0,"y":-10},{"x":20,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":0,"y":-10},{"x":20,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"}},"requiredReferences":{"connections":{"u":["gain.u"],"gain.y":["y"]}}} \ No newline at end of file +{"instances":{"MisplacedInfoWithEquation":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo","type":"long_class_specifier"},"k":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}},"description":{"description_string":"Constant gain"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"y1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"y1"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"y2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"y2"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":0,"y":-10},{"x":20,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":0,"y":-10},{"x":20,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"}},"requiredReferences":{"connections":{"u":["gain.u"],"gain.y":["y"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json b/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json index 80493592..d769305b 100644 --- a/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json +++ b/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json @@ -1 +1 @@ -{"instances":{"MisplacedInfoWithParameter":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"MisplacedInfoWithParameter","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"MisplacedInfoWithParameter":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithParameter","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MyController.json b/test/reference/objects/test/FromModelica/MyController.json index f7713ca5..6170b2b2 100644 --- a/test/reference/objects/test/FromModelica/MyController.json +++ b/test/reference/objects/test/FromModelica/MyController.json @@ -1 +1 @@ -{"instances":{"MyController":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"add2":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Add","type":"element","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"subCon1":{"type_specifier":"SubController","type":"element","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"subCon1"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"subCon2":{"type_specifier":"SubController","type":"element","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"}},"requiredReferences":{"connections":{"u1":["add2.u1"],"u2":["add2.u2","subCon1.u","subCon2.u"],"add2.y":["y"]}}} \ No newline at end of file +{"instances":{"MyController":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"add2":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Add","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"subCon1":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"subCon1"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"subCon2":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"}},"requiredReferences":{"connections":{"u1":["add2.u1"],"u2":["add2.u2","subCon1.u","subCon2.u"],"add2.y":["y"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json b/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json index dc458491..3eda48d6 100644 --- a/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json +++ b/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json @@ -1 +1 @@ -{"instances":{"MyControllerWithSemantics":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . "}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"@prefix Brick: .\n @prefix bldg: . \n"}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Temperature_Sensor ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Temperature_Sensor ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"bldg: a Brick:Temperature_Sensor .\n","en":" is a temperature sensor input\n"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}],"semantics":{"en":" is a temperature sensor input\n"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"add2":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Add","type":"element","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"heaCoi":{"type_specifier":"SubController","type":"element","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"heaCoi"},"description":{"description_string":"Heating Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Heating_Coil ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a heating coil."}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Heating_Coil ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a heating coil."}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"bldg: a Brick:Heating_Coil .\n","en":" is a heating coil.\n"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"subCon2":{"type_specifier":"SubControllerWithSemantics","type":"element","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Cooling Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"}},"requiredReferences":{"connections":{"u1":["add2.u1"],"u2":["add2.u2","subCon1.u","subCon2.u"],"add2.y":["y"]}}} \ No newline at end of file +{"instances":{"MyControllerWithSemantics":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . "}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"@prefix Brick: .\n @prefix bldg: . \n"}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Temperature_Sensor ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Temperature_Sensor ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"bldg: a Brick:Temperature_Sensor .\n","en":" is a temperature sensor input\n"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}],"semantics":{"en":" is a temperature sensor input\n"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"add2":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Add","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"heaCoi":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"heaCoi"},"description":{"description_string":"Heating Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Heating_Coil ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a heating coil."}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Heating_Coil ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a heating coil."}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"bldg: a Brick:Heating_Coil .\n","en":" is a heating coil.\n"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"subCon2":{"type_specifier":"SubControllerWithSemantics","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Cooling Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"}},"requiredReferences":{"connections":{"u1":["add2.u1"],"u2":["add2.u2","subCon1.u","subCon2.u"],"add2.y":["y"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/NoClassComment.json b/test/reference/objects/test/FromModelica/NoClassComment.json index 9a5b086a..ffbc9a79 100644 --- a/test/reference/objects/test/FromModelica/NoClassComment.json +++ b/test/reference/objects/test/FromModelica/NoClassComment.json @@ -1 +1 @@ -{"instances":{"NoClassComment":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"NoClassComment","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"NoClassComment":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"NoClassComment","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/NoWithin.json b/test/reference/objects/test/FromModelica/NoWithin.json index 31cc98d0..6aaa2c90 100644 --- a/test/reference/objects/test/FromModelica/NoWithin.json +++ b/test/reference/objects/test/FromModelica/NoWithin.json @@ -1 +1 @@ -{"instances":{"FromModelica":{"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo","type":"long_class_specifier"},"one":{"type_prefix":"constant","type_specifier":"Integer","type":"element","long_class_specifier_identifier":"FromModelica","single_component_list":{"declaration":{"identifier":"one","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"An integer constant with value 1"}},"annotation":null,"semantics":{},"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"FromModelica":{"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo","type":"long_class_specifier"},"one":{"type_prefix":"constant","type_specifier":"Integer","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"FromModelica","single_component_list":{"declaration":{"identifier":"one","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"An integer constant with value 1"}},"annotation":null,"semantics":{},"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Parameter1.json b/test/reference/objects/test/FromModelica/Parameter1.json index aba3b7e9..b3877a4f 100644 --- a/test/reference/objects/test/FromModelica/Parameter1.json +++ b/test/reference/objects/test/FromModelica/Parameter1.json @@ -1 +1 @@ -{"instances":{"Parameter1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter1","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"Parameter1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter1","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json b/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json index aea78cd9..3f8a1f5d 100644 --- a/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json +++ b/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json @@ -1 +1 @@ -{"instances":{"Parameter1WithVendorAnnotation":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter1WithVendorAnnotation","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"Parameter1WithVendorAnnotation":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter1WithVendorAnnotation","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Parameter2.json b/test/reference/objects/test/FromModelica/Parameter2.json index 7d76a835..3ae8e815 100644 --- a/test/reference/objects/test/FromModelica/Parameter2.json +++ b/test/reference/objects/test/FromModelica/Parameter2.json @@ -1 +1 @@ -{"instances":{"Parameter2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo","type":"long_class_specifier"},"myPar1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myPar1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParNoValue":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParNoValue"},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParMin":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParMin","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParMax":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParMax","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParUnit":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParUnit","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInGroup":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInGroup"},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Gains\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Gains\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTab":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTab"},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTabInGroup1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTabInGroup1"},"description":{"description_string":"Some comment 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTabInGroup2":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTabInGroup2"},"description":{"description_string":"Some comment 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"Parameter2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo","type":"long_class_specifier"},"myPar1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myPar1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParNoValue":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParNoValue"},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParMin":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParMin","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParMax":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParMax","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParUnit":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParUnit","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInGroup":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInGroup"},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Gains\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Gains\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTab":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTab"},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTabInGroup1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTabInGroup1"},"description":{"description_string":"Some comment 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTabInGroup2":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTabInGroup2"},"description":{"description_string":"Some comment 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Parameter3.json b/test/reference/objects/test/FromModelica/Parameter3.json index 532ec657..234c1f66 100644 --- a/test/reference/objects/test/FromModelica/Parameter3.json +++ b/test/reference/objects/test/FromModelica/Parameter3.json @@ -1 +1 @@ -{"instances":{"Parameter3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo","type":"long_class_specifier"},"myPar1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter3","single_component_list":{"declaration":{"identifier":"myPar1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo"},"myParUnit":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Temperature","type":"element","long_class_specifier_identifier":"Parameter3","single_component_list":{"declaration":{"identifier":"myParUnit"},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"Parameter3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo","type":"long_class_specifier"},"myPar1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter3","single_component_list":{"declaration":{"identifier":"myPar1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo"},"myParUnit":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Temperature","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter3","single_component_list":{"declaration":{"identifier":"myParUnit"},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ParameterWithAttributes.json b/test/reference/objects/test/FromModelica/ParameterWithAttributes.json index 1832a00c..8148e16a 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithAttributes.json +++ b/test/reference/objects/test/FromModelica/ParameterWithAttributes.json @@ -1 +1 @@ -{"instances":{"ParameterWithAttributes":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"ParameterWithAttributes","single_component_list":{"declaration":{"identifier":"kP","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"start","modification":{"equal":true,"expression":{"simple_expression":"0.2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"fixed","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"PressureDifference\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"Pa\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"nominal","modification":{"equal":true,"expression":{"simple_expression":"0.5"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"stateSelect","modification":{"equal":true,"expression":{"simple_expression":"StateSelect.default"}}}}}],"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"ParameterWithAttributes":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithAttributes","single_component_list":{"declaration":{"identifier":"kP","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"start","modification":{"equal":true,"expression":{"simple_expression":"0.2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"fixed","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"PressureDifference\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"Pa\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"nominal","modification":{"equal":true,"expression":{"simple_expression":"0.5"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"stateSelect","modification":{"equal":true,"expression":{"simple_expression":"StateSelect.default"}}}}}],"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json b/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json index d0c149fe..321c7c88 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json +++ b/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json @@ -1 +1 @@ -{"instances":{"ParameterWithDefaultName":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"testName\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"ParameterWithDefaultName","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"ParameterWithDefaultName":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"testName\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithDefaultName","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ParameterWithInfo.json b/test/reference/objects/test/FromModelica/ParameterWithInfo.json index 94d691d3..23226cd6 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithInfo.json +++ b/test/reference/objects/test/FromModelica/ParameterWithInfo.json @@ -1 +1 @@ -{"instances":{"ParameterWithInfo":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"ParameterWithInfo","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"ParameterWithInfo":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithInfo","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json b/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json index 2e39d5ec..bda552c1 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json +++ b/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json @@ -1 +1 @@ -{"instances":{"ParameterWithVendorAnnotationInInfo":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"ParameterWithVendorAnnotationInInfo","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"ParameterWithVendorAnnotationInInfo":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithVendorAnnotationInInfo","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/PointList.json b/test/reference/objects/test/FromModelica/PointList.json index 31d095e3..c7001024 100644 --- a/test/reference/objects/test/FromModelica/PointList.json +++ b/test/reference/objects/test/FromModelica/PointList.json @@ -1 +1 @@ -{"instances":{"PointList":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Test device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"poiLis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Input one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Input two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"y1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"y1"},"description":{"description_string":"Output one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]},"iconTransformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]},"iconTransformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"y2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"y2"},"description":{"description_string":"Output two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]},"iconTransformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]},"iconTransformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"con1":{"type_specifier":"MyController","type":"element","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"con1"},"description":{"description_string":"Subcontroller one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2.u\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":50},{"x":10,"y":70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2.u\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":50},{"x":10,"y":70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"con2":{"type_specifier":"MyController","type":"element","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"con2"},"description":{"description_string":"Subcontroller two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-70},{"x":10,"y":-50}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-70},{"x":10,"y":-50}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"}},"requiredReferences":{"connections":{"u1":["con1.u1","con2.u1"],"u2":["con1.u2","con2.u2"],"con1.y":["y2"],"con2.y":["y1"]}}} \ No newline at end of file +{"instances":{"PointList":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Test device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"poiLis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Input one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Input two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"y1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"y1"},"description":{"description_string":"Output one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]},"iconTransformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]},"iconTransformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"y2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"y2"},"description":{"description_string":"Output two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]},"iconTransformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]},"iconTransformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"con1":{"type_specifier":"MyController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"con1"},"description":{"description_string":"Subcontroller one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2.u\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":50},{"x":10,"y":70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2.u\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":50},{"x":10,"y":70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"con2":{"type_specifier":"MyController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"con2"},"description":{"description_string":"Subcontroller two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-70},{"x":10,"y":-50}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-70},{"x":10,"y":-50}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"}},"requiredReferences":{"connections":{"u1":["con1.u1","con2.u1"],"u2":["con1.u2","con2.u2"],"con1.y":["y2"],"con2.y":["y1"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/RemovableInputs.json b/test/reference/objects/test/FromModelica/RemovableInputs.json index f24d7e01..7b83f757 100644 --- a/test/reference/objects/test/FromModelica/RemovableInputs.json +++ b/test/reference/objects/test/FromModelica/RemovableInputs.json @@ -1 +1 @@ -{"instances":{"RemovableInputs":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo","type":"long_class_specifier"},"enaBlo":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"enaBlo","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Flag for enabling instance"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"have_winSen":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"have_winSen"},"description":{"description_string":"True: there is window status sensor"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"have_occSen":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"have_occSen"},"description":{"description_string":"True: there is occupancy sensor"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"u"},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Temperature input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"TOutWitDef":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"TOutWitDef","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Temperature input with specified default value","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-70},{"x":-100,"y":-30}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"default","modification":{"equal":true,"expression":{"simple_expression":"300.15"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-70},{"x":-100,"y":-30}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"default","modification":{"equal":true,"expression":{"simple_expression":"300.15"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"uWin":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"uWin"},"condition_attribute":{"expression":{"simple_expression":"have_winSen"}},"description":{"description_string":"Window opening status","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-100},{"x":-100,"y":-60}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-100},{"x":-100,"y":-60}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"nOcc":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"nOcc"},"condition_attribute":{"expression":{"simple_expression":"have_occSen"}},"description":{"description_string":"Occupancy","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Abs","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"abs"},"condition_attribute":{"expression":{"simple_expression":"not enaBlo"}},"description":{"description_string":"Instance could be conditional disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"RemovableInputs":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo","type":"long_class_specifier"},"enaBlo":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"enaBlo","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Flag for enabling instance"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"have_winSen":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"have_winSen"},"description":{"description_string":"True: there is window status sensor"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"have_occSen":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"have_occSen"},"description":{"description_string":"True: there is occupancy sensor"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"u"},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Temperature input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"TOutWitDef":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"TOutWitDef","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Temperature input with specified default value","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-70},{"x":-100,"y":-30}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"default","modification":{"equal":true,"expression":{"simple_expression":"300.15"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-70},{"x":-100,"y":-30}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"default","modification":{"equal":true,"expression":{"simple_expression":"300.15"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"uWin":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"uWin"},"condition_attribute":{"expression":{"simple_expression":"have_winSen"}},"description":{"description_string":"Window opening status","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-100},{"x":-100,"y":-60}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-100},{"x":-100,"y":-60}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"nOcc":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"nOcc"},"condition_attribute":{"expression":{"simple_expression":"have_occSen"}},"description":{"description_string":"Occupancy","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Abs","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"abs"},"condition_attribute":{"expression":{"simple_expression":"not enaBlo"}},"description":{"description_string":"Instance could be conditional disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/SubController.json b/test/reference/objects/test/FromModelica/SubController.json index 062dc929..690981f1 100644 --- a/test/reference/objects/test/FromModelica/SubController.json +++ b/test/reference/objects/test/FromModelica/SubController.json @@ -156,6 +156,7 @@ "u": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "SubController", "single_component_list": { "declaration": { @@ -384,6 +385,7 @@ "y": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", "type": "element", + "compositionSpecifier": "public", "long_class_specifier_identifier": "SubController", "single_component_list": { "declaration": { diff --git a/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json b/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json index eb4ae28f..9e6ea5fa 100644 --- a/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json +++ b/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json @@ -1 +1 @@ -{"instances":{"SubControllerWithSemantics":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Sub Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"subCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . "}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . \n"}},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"SubControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"SubControllerWithSemantics","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"SubControllerWithSemantics":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Sub Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"subCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . "}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . \n"}},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"SubControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"SubControllerWithSemantics","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_1.json b/test/reference/objects/test/FromModelica/TestEvaluation_1.json index bfa302af..d2638532 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_1.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_1.json @@ -1 +1 @@ -{"instances":{"TestEvaluation_1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uses","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"Buildings","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"version","modification":{"equal":true,"expression":{"simple_expression":"\"8.0.0\""}}}}}]}}}}]}}}}],"semantics":{}},"k1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"TestEvaluation_1","single_component_list":{"declaration":{"identifier":"k1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Constant output value"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo"},"con":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Sources.Constant","type":"element","long_class_specifier_identifier":"TestEvaluation_1","single_component_list":{"declaration":{"identifier":"con","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k1"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":10},{"x":0,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":10},{"x":0,"y":30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"TestEvaluation_1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uses","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"Buildings","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"version","modification":{"equal":true,"expression":{"simple_expression":"\"8.0.0\""}}}}}]}}}}]}}}}],"semantics":{}},"k1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_1","single_component_list":{"declaration":{"identifier":"k1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Constant output value"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo"},"con":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Sources.Constant","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_1","single_component_list":{"declaration":{"identifier":"con","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k1"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":10},{"x":0,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":10},{"x":0,"y":30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_2.json b/test/reference/objects/test/FromModelica/TestEvaluation_2.json index e898e922..7082ad7a 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_2.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_2.json @@ -1 +1 @@ -{"instances":{"TestEvaluation_2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uses","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"Buildings","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"version","modification":{"equal":true,"expression":{"simple_expression":"\"8.0.0\""}}}}}]}}}}]}}}}],"semantics":{}},"uLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"uLow","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}],"equal":true,"expression":{"simple_expression":"0.5"}}},"description":{"description_string":"if y=true and uuHigh, switch to y=true"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-118,"y":-20},{"x":-78,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-118,"y":-20},{"x":-78,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput","type":"element","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Boolean output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":80,"y":-20},{"x":120,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":80,"y":-20},{"x":120,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"hys":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Hysteresis","type":"element","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"hys","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"uLow"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"uHigh"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"}},"requiredReferences":{"connections":{"hys.u":["u"],"hys.y":["y"]}}} \ No newline at end of file +{"instances":{"TestEvaluation_2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uses","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"Buildings","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"version","modification":{"equal":true,"expression":{"simple_expression":"\"8.0.0\""}}}}}]}}}}]}}}}],"semantics":{}},"uLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"uLow","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}],"equal":true,"expression":{"simple_expression":"0.5"}}},"description":{"description_string":"if y=true and uuHigh, switch to y=true"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-118,"y":-20},{"x":-78,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-118,"y":-20},{"x":-78,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Boolean output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":80,"y":-20},{"x":120,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":80,"y":-20},{"x":120,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"hys":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Hysteresis","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"hys","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"uLow"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"uHigh"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"}},"requiredReferences":{"connections":{"hys.u":["u"],"hys.y":["y"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_3.json b/test/reference/objects/test/FromModelica/TestEvaluation_3.json index d842fdc1..583ff53d 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_3.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_3.json @@ -1 +1 @@ -{"instances":{"TestEvaluation_3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"k1":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"k1","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Constant output value"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"k2":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"k2","modification":{"equal":true,"expression":{"simple_expression":"not k1"}}}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"con":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"con","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k2"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"not k1"}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":10},{"x":10,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":10},{"x":10,"y":30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"con1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"con1","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k1"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-30},{"x":12,"y":-10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-30},{"x":12,"y":-10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"TestEvaluation_3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"k1":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"k1","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Constant output value"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"k2":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"k2","modification":{"equal":true,"expression":{"simple_expression":"not k1"}}}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"con":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"con","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k2"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"not k1"}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":10},{"x":10,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":10},{"x":10,"y":30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"con1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"con1","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k1"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-30},{"x":12,"y":-10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-30},{"x":12,"y":-10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_4.json b/test/reference/objects/test/FromModelica/TestEvaluation_4.json index 2ba1e840..fa46c4a9 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_4.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_4.json @@ -1 +1 @@ -{"instances":{"TestEvaluation_4":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"controllerTypeCooCoi":{"type_prefix":"parameter","type_specifier":"Buildings.Controls.OBC.CDL.Types.SimpleController","type":"element","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"controllerTypeCooCoi","modification":{"equal":true,"expression":{"simple_expression":"Buildings.Controls.OBC.CDL.Types.SimpleController.PI"}}},"description":{"description_string":"Type of controller"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"kCooCoi":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"kCooCoi","modification":{"equal":true,"expression":{"simple_expression":"0.1"}}},"description":{"description_string":"Gain for cooling coil control loop signal"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TiCooCoi":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TiCooCoi","modification":{"equal":true,"expression":{"simple_expression":"900"}}},"description":{"description_string":"Time constant of integrator block for cooling coil control loop signal"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TSupCooSet":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TSupCooSet"},"description":{"description_string":"Cooling supply air temperature setpoint","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TAirSup":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TAirSup"},"description":{"description_string":"Supply air temperature measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":0},{"x":-100,"y":40}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":0},{"x":-100,"y":40}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"uZonSta":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"uZonSta"},"description":{"description_string":"Zone state","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"u1SupFan":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"u1SupFan"},"description":{"description_string":"Supply fan proven on","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-98},{"x":-100,"y":-58}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-98},{"x":-100,"y":-58}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"yCooCoi":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"yCooCoi"},"description":{"description_string":"Cooling coil position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"cooCoi":{"type_specifier":"Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.CoolingCoil","type":"element","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"cooCoi","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"controllerTypeCooCoi","modification":{"equal":true,"expression":{"simple_expression":"controllerTypeCooCoi"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"kCooCoi","modification":{"equal":true,"expression":{"simple_expression":"kCooCoi"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"TiCooCoi","modification":{"equal":true,"expression":{"simple_expression":"TiCooCoi"}}}}}]}},"description":{"description_string":"Cooling coil control","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"}},"requiredReferences":{"connections":{"cooCoi.TSupCooSet":["TSupCooSet"],"cooCoi.TAirSup":["TAirSup"],"cooCoi.uZonSta":["uZonSta"],"cooCoi.u1SupFan":["u1SupFan"],"cooCoi.yCooCoi":["yCooCoi"]}}} \ No newline at end of file +{"instances":{"TestEvaluation_4":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"controllerTypeCooCoi":{"type_prefix":"parameter","type_specifier":"Buildings.Controls.OBC.CDL.Types.SimpleController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"controllerTypeCooCoi","modification":{"equal":true,"expression":{"simple_expression":"Buildings.Controls.OBC.CDL.Types.SimpleController.PI"}}},"description":{"description_string":"Type of controller"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"kCooCoi":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"kCooCoi","modification":{"equal":true,"expression":{"simple_expression":"0.1"}}},"description":{"description_string":"Gain for cooling coil control loop signal"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TiCooCoi":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TiCooCoi","modification":{"equal":true,"expression":{"simple_expression":"900"}}},"description":{"description_string":"Time constant of integrator block for cooling coil control loop signal"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TSupCooSet":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TSupCooSet"},"description":{"description_string":"Cooling supply air temperature setpoint","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TAirSup":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TAirSup"},"description":{"description_string":"Supply air temperature measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":0},{"x":-100,"y":40}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":0},{"x":-100,"y":40}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"uZonSta":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"uZonSta"},"description":{"description_string":"Zone state","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"u1SupFan":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"u1SupFan"},"description":{"description_string":"Supply fan proven on","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-98},{"x":-100,"y":-58}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-98},{"x":-100,"y":-58}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"yCooCoi":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"yCooCoi"},"description":{"description_string":"Cooling coil position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"cooCoi":{"type_specifier":"Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.CoolingCoil","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"cooCoi","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"controllerTypeCooCoi","modification":{"equal":true,"expression":{"simple_expression":"controllerTypeCooCoi"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"kCooCoi","modification":{"equal":true,"expression":{"simple_expression":"kCooCoi"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"TiCooCoi","modification":{"equal":true,"expression":{"simple_expression":"TiCooCoi"}}}}}]}},"description":{"description_string":"Cooling coil control","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"}},"requiredReferences":{"connections":{"cooCoi.TSupCooSet":["TSupCooSet"],"cooCoi.TAirSup":["TAirSup"],"cooCoi.uZonSta":["uZonSta"],"cooCoi.u1SupFan":["u1SupFan"],"cooCoi.yCooCoi":["yCooCoi"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/VariableModification.json b/test/reference/objects/test/FromModelica/VariableModification.json index e389fafa..20fb98ba 100644 --- a/test/reference/objects/test/FromModelica/VariableModification.json +++ b/test/reference/objects/test/FromModelica/VariableModification.json @@ -1 +1 @@ -{"instances":{"VariableModification":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo","type":"long_class_specifier"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"Temperature input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Abs","type":"element","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"abs","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"u","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"y","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}}]}}}}]}},"description":{"description_string":"Instance with modified input and output attributes","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"VariableModification":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo","type":"long_class_specifier"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"Temperature input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Abs","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"abs","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"u","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"y","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}}]}}}}]}},"description":{"description_string":"Instance with modified input and output attributes","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/WithCDLElementary.json b/test/reference/objects/test/FromModelica/WithCDLElementary.json index 9bd44e72..f962af13 100644 --- a/test/reference/objects/test/FromModelica/WithCDLElementary.json +++ b/test/reference/objects/test/FromModelica/WithCDLElementary.json @@ -1 +1 @@ -{"instances":{"WithCDLElementary":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"gre":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Greater","type":"element","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"gre"},"description":{"description_string":"CDL elementary block with inside class","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-212,"y":-12},{"x":-172,"y":28}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-212,"y":-12},{"x":-172,"y":28}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":-184,"y":-4},{"x":-144,"y":36}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":-184,"y":-4},{"x":-144,"y":36}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"WithCDLElementary":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"gre":{"type_specifier":"Buildings.Controls.OBC.CDL.Continuous.Greater","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"gre"},"description":{"description_string":"CDL elementary block with inside class","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-212,"y":-12},{"x":-172,"y":28}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-212,"y":-12},{"x":-172,"y":28}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":-184,"y":-4},{"x":-144,"y":36}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":-184,"y":-4},{"x":-144,"y":36}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/package.json b/test/reference/objects/test/FromModelica/package.json index efeb8442..e7699777 100644 --- a/test/reference/objects/test/FromModelica/package.json +++ b/test/reference/objects/test/FromModelica/package.json @@ -1 +1 @@ -{"instances":{"FromModelica":{"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo","type":"long_class_specifier"},"one":{"type_prefix":"constant","type_specifier":"Integer","type":"element","long_class_specifier_identifier":"FromModelica","single_component_list":{"declaration":{"identifier":"one","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"An integer constant with value 1"}},"annotation":null,"semantics":{},"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"FromModelica":{"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo","type":"long_class_specifier"},"one":{"type_prefix":"constant","type_specifier":"Integer","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"FromModelica","single_component_list":{"declaration":{"identifier":"one","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"An integer constant with value 1"}},"annotation":null,"semantics":{},"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo"}},"requiredReferences":{}} \ No newline at end of file From b70be0741556ac6661233dd75b807a04a82ac47e Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Thu, 27 Jul 2023 16:47:59 -0400 Subject: [PATCH 02/25] adding cxf schema --- schema-cxf.json | 212 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 212 insertions(+) create mode 100644 schema-cxf.json diff --git a/schema-cxf.json b/schema-cxf.json new file mode 100644 index 00000000..d7db6278 --- /dev/null +++ b/schema-cxf.json @@ -0,0 +1,212 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "definitions": { + "input": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "datatype": { + "type": "string" + }, + "accessSpecifier": { + "type": "string" + }, + "graphics": { + "$ref": "#/definitions/graphicalElement" + }, + "label": { + "type": "string" + }, + "value": { + "type": "number" + }, + "min": { + "type": "number" + }, + "max": { + "type": "number" + }, + "unit": { + "type": "string" + }, + "displayUnit": { + "type": "string" + }, + "inputOf": { + "$ref": "#/definitions/block" + } + } + }, + "output": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "datatype": { + "type": "string" + }, + "accessSpecifier": { + "type": "string" + }, + "graphics": { + "$ref": "#/definitions/graphicalElement" + }, + "label": { + "type": "string" + }, + "value": { + "type": "number" + }, + "min": { + "type": "number" + }, + "max": { + "type": "number" + }, + "unit": { + "type": "string" + }, + "displayUnit": { + "type": "string" + }, + "outputOf": { + "$ref": "#/definitions/block" + } + } + }, + "block": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + }, + "graphicalElement": { + "type": "string" + }, + "parameter": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "datatype": { + "type": "string" + }, + "accessSpecifier": { + "type": "string" + }, + "graphics": { + "$ref": "#/definitions/graphicalElement" + }, + "label": { + "type": "string" + }, + "value": { + "type": "number" + }, + "default": { + "type": "object" + }, + "min": { + "type": "number" + }, + "max": { + "type": "number" + }, + "unit": { + "type": "string" + }, + "displayUnit": { + "type": "string" + }, + "parameterOf": { + "$ref": "#/definitions/block" + }, + "lineNumStart": { + "type": "number" + }, + "lineNumEnd": { + "type": "number" + } + } + }, + "constant": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "datatype": { + "type": "string" + }, + "accessSpecifier": { + "type": "string" + }, + "graphics": { + "$ref": "#/definitions/graphicalElement" + }, + "label": { + "type": "string" + }, + "value": { + "type": "number" + }, + "unit": { + "type": "string" + }, + "displayUnit": { + "type": "string" + }, + "constantOf": { + "$ref": "#/definitions/block" + }, + "lineNumStart": { + "type": "number" + }, + "lineNumEnd": { + "type": "number" + } + } + } + }, + "properties": { + "instances": { + "oneOf": [ + { + "$ref": "#/definitions/input" + }, + { + "$ref": "#/definitions/output" + }, + { + "$ref": "#/definitions/parameter" + }, + { + "$ref": "#/definitions/constant" + }, + { + "$ref": "#/definitions/block" + } + ] + }, + "connections": {} + } + } \ No newline at end of file From 8315a49707de3a816ac4f15acee84bc966946a06 Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Tue, 1 Aug 2023 14:08:27 -0700 Subject: [PATCH 03/25] updating schema --- README.md | 8 +-- schema-cxf.json | 134 +++++++++++++++++++++++++++++++++++------------- 2 files changed, 103 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index 71c36015..81bd204f 100644 --- a/README.md +++ b/README.md @@ -108,17 +108,17 @@ Specify the output directory. The default option is the current directory. ## 4. JSON Schemas -The JSON representation of Modelica and CDL models must be compliant with the corresponding JSON Schema. This is applicable for the JSON output, not for the raw-json one. +The JSON representation of Modelica and CXF models must be compliant with the corresponding JSON Schema. This is applicable for the JSON and CXF output respectively. JSON Schemas describe the data format and file structure to ensure the quality of the JSON files. Two schemas are available (links to the raw files) : -- [schema-cdl.json](schema-cdl.json) validates the JSON files parsed from CDL +- [schema-cxf.json](schema-cxf.json) validates the JSON files parsed from CDL classes to form CXF representations - [schema-modelica.json](schema-modelica.json) validates the JSON files parsed from Modelica models Graphical viewers are available (please use right click + open in a new tab or refresh the page if necessary - this is not optimized for Firefox) : -- [CDL Schema viewer](cdl-viz.html) -- [Modelica Schema viewer](modelica-viz.html) +- [CXF Schema viewer](https://htmlpreview.github.io/?https://github.com/lbl-srg/modelica-json/blob/issue214_cxf/cxf-viz.html) +- [Modelica Schema viewer](https://htmlpreview.github.io/?https://github.com/lbl-srg/modelica-json/blob/master/modelica-viz.html) When parsing a file using `app.js`, the schema is chosen according to the mode. diff --git a/schema-cxf.json b/schema-cxf.json index d7db6278..0995a7dd 100644 --- a/schema-cxf.json +++ b/schema-cxf.json @@ -1,12 +1,16 @@ { "$schema": "http://json-schema.org/draft-04/schema#", + "$id": "schema-cxf.json", + "title": "Control Exchange Format (CXF) schema", + "description": "Control Exchange Format (CXF) Specification of a CDL class", "type": "object", "definitions": { "input": { "type": "object", "properties": { "name": { - "type": "string" + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" }, "description": { "type": "string" @@ -21,7 +25,8 @@ "$ref": "#/definitions/graphicalElement" }, "label": { - "type": "string" + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" }, "value": { "type": "number" @@ -40,6 +45,12 @@ }, "inputOf": { "$ref": "#/definitions/block" + }, + "lineNumStart": { + "type": "number" + }, + "lineNumEnd": { + "type": "number" } } }, @@ -47,7 +58,8 @@ "type": "object", "properties": { "name": { - "type": "string" + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" }, "description": { "type": "string" @@ -62,7 +74,8 @@ "$ref": "#/definitions/graphicalElement" }, "label": { - "type": "string" + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" }, "value": { "type": "number" @@ -81,6 +94,12 @@ }, "outputOf": { "$ref": "#/definitions/block" + }, + "lineNumStart": { + "type": "number" + }, + "lineNumEnd": { + "type": "number" } } }, @@ -88,18 +107,21 @@ "type": "object", "properties": { "name": { - "type": "string" + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" } } }, "graphicalElement": { - "type": "string" + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" }, "parameter": { "type": "object", "properties": { "name": { - "type": "string" + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" }, "description": { "type": "string" @@ -114,7 +136,8 @@ "$ref": "#/definitions/graphicalElement" }, "label": { - "type": "string" + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" }, "value": { "type": "number" @@ -134,9 +157,6 @@ "displayUnit": { "type": "string" }, - "parameterOf": { - "$ref": "#/definitions/block" - }, "lineNumStart": { "type": "number" }, @@ -149,7 +169,8 @@ "type": "object", "properties": { "name": { - "type": "string" + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" }, "description": { "type": "string" @@ -164,7 +185,8 @@ "$ref": "#/definitions/graphicalElement" }, "label": { - "type": "string" + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" }, "value": { "type": "number" @@ -175,9 +197,6 @@ "displayUnit": { "type": "string" }, - "constantOf": { - "$ref": "#/definitions/block" - }, "lineNumStart": { "type": "number" }, @@ -188,25 +207,70 @@ } }, "properties": { - "instances": { - "oneOf": [ - { - "$ref": "#/definitions/input" - }, - { - "$ref": "#/definitions/output" - }, - { - "$ref": "#/definitions/parameter" - }, - { - "$ref": "#/definitions/constant" - }, - { - "$ref": "#/definitions/block" - } - ] + "inputs": { + "type": "array", + "items:": { + "type": "object", + "properties": { + "$ref": "#/definitions/input" + } + } }, - "connections": {} + "outputs": { + "type": "array", + "items:": { + "type": "object", + "properties": { + "$ref": "#/definitions/output" + } + } + }, + "parameters": { + "type": "array", + "items:": { + "type": "object", + "properties": { + "$ref": "#/definitions/parameter" + } + } + }, + "constants": { + "type": "array", + "items:": { + "type": "object", + "properties": { + "$ref": "#/definitions/constant" + } + } + }, + "blocks": { + "type": "array", + "items:": { + "type": "object", + "properties": { + "$ref": "#/definitions/block" + } + } + }, + "connections": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" + }, + "to": { + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" + } + }, + "required": [ + "from", + "to" + ] + } + } } } \ No newline at end of file From 2780e1580a3f337c2c8d630fe4aedcb3dc9f25f9 Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Wed, 2 Aug 2023 07:57:55 -0700 Subject: [PATCH 04/25] updating schema --- cxf-viz.html | 71 ++++++ schema-cxf.json | 633 ++++++++++++++++++++++++++++-------------------- 2 files changed, 447 insertions(+), 257 deletions(-) create mode 100644 cxf-viz.html diff --git a/cxf-viz.html b/cxf-viz.html new file mode 100644 index 00000000..8b362e4e --- /dev/null +++ b/cxf-viz.html @@ -0,0 +1,71 @@ + + + + + + + + JSON Schema Viewer + + + + + + + + + + + + + +
+ + +
+ + +
+ + +
+

+    
+ +
+
+

Legend

+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/schema-cxf.json b/schema-cxf.json index 0995a7dd..64f5836f 100644 --- a/schema-cxf.json +++ b/schema-cxf.json @@ -1,276 +1,395 @@ { - "$schema": "http://json-schema.org/draft-04/schema#", - "$id": "schema-cxf.json", - "title": "Control Exchange Format (CXF) schema", - "description": "Control Exchange Format (CXF) Specification of a CDL class", - "type": "object", - "definitions": { - "input": { - "type": "object", - "properties": { - "name": { - "type": "string", - "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" - }, - "description": { - "type": "string" - }, - "datatype": { - "type": "string" - }, - "accessSpecifier": { - "type": "string" - }, - "graphics": { - "$ref": "#/definitions/graphicalElement" - }, - "label": { - "type": "string", - "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" - }, - "value": { - "type": "number" - }, - "min": { - "type": "number" - }, - "max": { - "type": "number" - }, - "unit": { - "type": "string" - }, - "displayUnit": { - "type": "string" - }, - "inputOf": { - "$ref": "#/definitions/block" - }, - "lineNumStart": { - "type": "number" - }, - "lineNumEnd": { - "type": "number" - } + "$schema": "http://json-schema.org/draft-04/schema#", + "$id": "schema-cxf.json", + "title": "Control Exchange Format (CXF) schema", + "description": "Control Exchange Format (CXF) Specification of a CDL class", + "type": "object", + "definitions": { + "graphicalElement": { + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" + }, + "input": { + "type": "object", + "properties": { + "name": { + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" + }, + "description": { + "type": "string" + }, + "datatype": { + "type": "string" + }, + "accessSpecifier": { + "type": "string" + }, + "graphics": { + "$ref": "#/definitions/graphicalElement" + }, + "label": { + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" + }, + "value": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "start": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "nominal": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "quantity": { + "type": "string" + }, + "fixed": { + "type": "boolean" + }, + "instantiate": { + "type": "boolean" + }, + "min": { + "type": "number" + }, + "max": { + "type": "number" + }, + "unit": { + "type": "string" + }, + "displayUnit": { + "type": "string" + }, + "lineNumStart": { + "type": "number" + }, + "lineNumEnd": { + "type": "number" } - }, - "output": { - "type": "object", - "properties": { - "name": { - "type": "string", - "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" - }, - "description": { - "type": "string" - }, - "datatype": { - "type": "string" - }, - "accessSpecifier": { - "type": "string" - }, - "graphics": { - "$ref": "#/definitions/graphicalElement" - }, - "label": { - "type": "string", - "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" - }, - "value": { - "type": "number" - }, - "min": { - "type": "number" - }, - "max": { - "type": "number" - }, - "unit": { - "type": "string" - }, - "displayUnit": { - "type": "string" - }, - "outputOf": { - "$ref": "#/definitions/block" - }, - "lineNumStart": { - "type": "number" - }, - "lineNumEnd": { - "type": "number" - } + } + }, + "output": { + "type": "object", + "properties": { + "name": { + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" + }, + "description": { + "type": "string" + }, + "datatype": { + "type": "string" + }, + "accessSpecifier": { + "type": "string" + }, + "graphics": { + "$ref": "#/definitions/graphicalElement" + }, + "label": { + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" + }, + "value": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "start": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "nominal": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "quantity": { + "type": "string" + }, + "fixed": { + "type": "boolean" + }, + "instantiate": { + "type": "boolean" + }, + "min": { + "type": "number" + }, + "max": { + "type": "number" + }, + "unit": { + "type": "string" + }, + "displayUnit": { + "type": "string" + }, + "lineNumStart": { + "type": "number" + }, + "lineNumEnd": { + "type": "number" } - }, - "block": { - "type": "object", - "properties": { - "name": { - "type": "string", - "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" - } + } + }, + "parameter": { + "type": "object", + "properties": { + "name": { + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" + }, + "description": { + "type": "string" + }, + "datatype": { + "type": "string" + }, + "accessSpecifier": { + "type": "string" + }, + "graphics": { + "$ref": "#/definitions/graphicalElement" + }, + "label": { + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" + }, + "value": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "start": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "nominal": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "quantity": { + "type": "string" + }, + "fixed": { + "type": "boolean" + }, + "default": { + "type": "object" + }, + "min": { + "type": "number" + }, + "max": { + "type": "number" + }, + "unit": { + "type": "string" + }, + "displayUnit": { + "type": "string" + }, + "lineNumStart": { + "type": "number" + }, + "lineNumEnd": { + "type": "number" } - }, - "graphicalElement": { - "type": "string", - "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" - }, - "parameter": { - "type": "object", - "properties": { - "name": { - "type": "string", - "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" - }, - "description": { - "type": "string" - }, - "datatype": { - "type": "string" - }, - "accessSpecifier": { - "type": "string" - }, - "graphics": { - "$ref": "#/definitions/graphicalElement" - }, - "label": { - "type": "string", - "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" - }, - "value": { - "type": "number" - }, - "default": { - "type": "object" - }, - "min": { - "type": "number" - }, - "max": { - "type": "number" + } + }, + "constant": { + "type": "object", + "properties": { + "name": { + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" + }, + "description": { + "type": "string" + }, + "datatype": { + "type": "string" + }, + "accessSpecifier": { + "type": "string" + }, + "graphics": { + "$ref": "#/definitions/graphicalElement" + }, + "label": { + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" + }, + "value": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "quantity": { + "type": "string" + }, + "fixed": { + "type": "boolean" + }, + "unit": { + "type": "string" + }, + "displayUnit": { + "type": "string" + }, + "lineNumStart": { + "type": "number" + }, + "lineNumEnd": { + "type": "number" + } + } + }, + "block": { + "type": "object", + "properties": { + "name": { + "type": "string", + "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" + } + } + } + }, + "properties": { + "instances": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/input" }, - "unit": { - "type": "string" + { + "$ref": "#/definitions/output" }, - "displayUnit": { - "type": "string" + { + "$ref": "#/definitions/parameter" }, - "lineNumStart": { - "type": "number" + { + "$ref": "#/definitions/constant" }, - "lineNumEnd": { - "type": "number" + { + "$ref": "#/definitions/block" } - } - }, - "constant": { + ] + } + }, + "connections": { + "type": "array", + "items": { "type": "object", "properties": { - "name": { + "from": { "type": "string", "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" }, - "description": { - "type": "string" - }, - "datatype": { - "type": "string" - }, - "accessSpecifier": { - "type": "string" - }, - "graphics": { - "$ref": "#/definitions/graphicalElement" - }, - "label": { + "to": { "type": "string", "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" - }, - "value": { - "type": "number" - }, - "unit": { - "type": "string" - }, - "displayUnit": { - "type": "string" - }, - "lineNumStart": { - "type": "number" - }, - "lineNumEnd": { - "type": "number" } - } - } - }, - "properties": { - "inputs": { - "type": "array", - "items:": { - "type": "object", - "properties": { - "$ref": "#/definitions/input" - } - } - }, - "outputs": { - "type": "array", - "items:": { - "type": "object", - "properties": { - "$ref": "#/definitions/output" - } - } - }, - "parameters": { - "type": "array", - "items:": { - "type": "object", - "properties": { - "$ref": "#/definitions/parameter" - } - } - }, - "constants": { - "type": "array", - "items:": { - "type": "object", - "properties": { - "$ref": "#/definitions/constant" - } - } - }, - "blocks": { - "type": "array", - "items:": { - "type": "object", - "properties": { - "$ref": "#/definitions/block" - } - } - }, - "connections": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" - }, - "to": { - "type": "string", - "pattern": "^[a-zA-Z_$]([\\.a-zA-Z_0-9])*$" - } - }, - "required": [ - "from", - "to" - ] - } + }, + "required": [ + "from", + "to" + ] } } - } \ No newline at end of file + } +} \ No newline at end of file From 96ad96916afd0d5034b3e19d65446b28588f0bec Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Tue, 12 Dec 2023 12:54:22 -0800 Subject: [PATCH 05/25] creating if-branch for cxf-core --- app.js | 8 ++++---- lib/objectExtractor.js | 31 ++++++++++++++++++------------- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/app.js b/app.js index ad737dd1..64923ebb 100644 --- a/app.js +++ b/app.js @@ -123,8 +123,8 @@ if (args.output === 'json') { const modelicaPath = path.join('Modelica', pathSep) jsonFiles = jsonFiles.filter(obj => !(obj.includes(cdlPath) || obj.includes(modelicaPath))) // validate json schema - //for (let i = 0; i < jsonFiles.length; i++) { - // const eachFile = jsonFiles[i] - // setTimeout(function () { ut.jsonSchemaValidation(args.mode, eachFile, 'json', schema) }, 100) - //} + for (let i = 0; i < jsonFiles.length; i++) { + const eachFile = jsonFiles[i] + setTimeout(function () { ut.jsonSchemaValidation(args.mode, eachFile, 'json', schema) }, 100) + } } diff --git a/lib/objectExtractor.js b/lib/objectExtractor.js index b3389f59..6e41bfd8 100644 --- a/lib/objectExtractor.js +++ b/lib/objectExtractor.js @@ -443,7 +443,7 @@ function extractSemanticsFromAnnotations (annotation, instanceIdentifier) { return semantics } -function getCxfGraph(instances, blockName) { +function getCxfGraph(instances, blockName, generateCxfCore=false) { var instanceCategoryDict = {} var instancesList = [] @@ -451,41 +451,46 @@ function getCxfGraph(instances, blockName) { instancesList = Object.keys(instances) } - console.log(instancesList) - var graph = rdflib.graph() - var CxfNs = rdflib.Namespace('seq:'+blockName+'#') + var CxfPrefix = rdflib.Namespace(`seq:`) + var CxfNs = rdflib.Namespace(`seq:${blockName}#`) var S231Ns = rdflib.Namespace('https://data.ashrae.org/S231P#') var RDFNs = rdflib.Namespace("http://www.w3.org/1999/02/22-rdf-syntax-ns#") const uri = blockName + '.jsonld' - graph.add(CxfNs(blockName), RDFNs('type'), S231Ns('Block')) - instancesList.forEach(instance => { var instanceDict = instances[instance] var instanceType = null - + var within = instanceDict.within if (instanceDict === null) { // TODO: handle later } instanceType = instanceDict.type if (instanceType === 'long_class_specifier') { - // do nothing + if (within !== undefined && within.includes('CDL')) { + if (generateCxfCore) { + // TODO: handle cxf-core + graph.add(S231Ns(blockName), RDFNs('type'), S231Ns('ElementaryBlock')) + } + } else { + // TODO: how to separate composite block v/s extension block + graph.add(CxfPrefix(blockName), RDFNs('type'), S231Ns('Block')) + } } else if (instanceType === 'element') { if (instanceDict.type_prefix === 'parameter') { var value = { instance: {} } - graph.add(CxfNs(blockName), S231Ns('hasParameter'), CxfNs(`${instance}`)) + graph.add(CxfPrefix(blockName), S231Ns('hasParameter'), CxfNs(`${instance}`)) } else if (instanceDict.type_prefix === '' || instanceDict.type_prefix === undefined) { if (instanceDict.type_specifier.endsWith('IntegerInput') || instanceDict.type_specifier.endsWith('BooleanInput') || instanceDict.type_specifier.endsWith('RealInput')) { - graph.add(CxfNs(blockName), S231Ns('hasInput'), CxfNs(`${instance}`)) + graph.add(CxfPrefix(blockName), S231Ns('hasInput'), CxfNs(`${instance}`)) graph.add(CxfNs(`${instance}`), RDFNs('type'), S231Ns('Input')) } else if (instanceDict.type_specifier.endsWith('IntegerOutput') || instanceDict.type_specifier.endsWith('BooleanOutput') || instanceDict.type_specifier.endsWith('RealOutput')) { - graph.add(CxfNs(blockName), S231Ns('hasOutput'), CxfNs(`${instance}`)) + graph.add(CxfPrefix(blockName), S231Ns('hasOutput'), CxfNs(`${instance}`)) graph.add(CxfNs(`${instance}`), RDFNs('type'), S231Ns('Output')) } } @@ -498,8 +503,8 @@ function getCxfGraph(instances, blockName) { try { rdflib.parse(null, graph, uri, 'application/ld+json') } catch (err) { - console.log(err) - } + console.log(err) + } } From 6baf2fc503b54fb4ebc95b8905d79eadb50be31e Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Wed, 13 Dec 2023 10:48:15 -0800 Subject: [PATCH 06/25] adding function to generate and save cxf/ --- lib/objectExtractor.js | 67 +++++++++++++++++++++++++++--------------- lib/parser.js | 21 +++++++++---- lib/util.js | 2 ++ 3 files changed, 62 insertions(+), 28 deletions(-) diff --git a/lib/objectExtractor.js b/lib/objectExtractor.js index 6e41bfd8..a1b65a7f 100644 --- a/lib/objectExtractor.js +++ b/lib/objectExtractor.js @@ -1,5 +1,5 @@ const rdflib = require('rdflib') -var jsonld = require('jsonld') +const ut = require('./util.js') // TODO: change structure to put all instances in "defined_instances" keyword @@ -452,10 +452,10 @@ function getCxfGraph(instances, blockName, generateCxfCore=false) { } var graph = rdflib.graph() - var CxfPrefix = rdflib.Namespace(`seq:`) - var CxfNs = rdflib.Namespace(`seq:${blockName}#`) - var S231Ns = rdflib.Namespace('https://data.ashrae.org/S231P#') - var RDFNs = rdflib.Namespace("http://www.w3.org/1999/02/22-rdf-syntax-ns#") + var cxfPrefix = rdflib.Namespace(`seq:`) + var cxfNs = rdflib.Namespace(`seq:${blockName}#`) + var s231Ns = rdflib.Namespace('https://data.ashrae.org/S231P#') + var rdfNs = rdflib.Namespace("http://www.w3.org/1999/02/22-rdf-syntax-ns#") const uri = blockName + '.jsonld' @@ -469,43 +469,64 @@ function getCxfGraph(instances, blockName, generateCxfCore=false) { } instanceType = instanceDict.type if (instanceType === 'long_class_specifier') { - if (within !== undefined && within.includes('CDL')) { + //check if CDL elementary block + // TODO: check if we should include package name within sequence + if (within !== undefined && within.split('.').slice(-2,-1)[0] !== undefined && within.split('.').slice(-2,-1)[0].toUpperCase() === 'CDL') { if (generateCxfCore) { // TODO: handle cxf-core - graph.add(S231Ns(blockName), RDFNs('type'), S231Ns('ElementaryBlock')) + graph.add(s231Ns(blockName), rdfNs('type'), s231Ns('ElementaryBlock')) } } else { // TODO: how to separate composite block v/s extension block - graph.add(CxfPrefix(blockName), RDFNs('type'), S231Ns('Block')) + graph.add(cxfPrefix(blockName), rdfNs('type'), s231Ns('Block')) } } else if (instanceType === 'element') { + var className = instanceDict.long_class_specifier_identifier === undefined? blockName: instanceDict.long_class_specifier_identifier + var instanceNode = cxfPrefix(`${className}#${instance}`) + var blockNode = cxfPrefix(`${className}`) + // console.log(instance, instanceDict) if (instanceDict.type_prefix === 'parameter') { var value = { instance: {} } - graph.add(CxfPrefix(blockName), S231Ns('hasParameter'), CxfNs(`${instance}`)) + graph.add(blockNode, s231Ns('hasParameter'), instanceNode) } else if (instanceDict.type_prefix === '' || instanceDict.type_prefix === undefined) { - if (instanceDict.type_specifier.endsWith('IntegerInput') || instanceDict.type_specifier.endsWith('BooleanInput') || instanceDict.type_specifier.endsWith('RealInput')) { - graph.add(CxfPrefix(blockName), S231Ns('hasInput'), CxfNs(`${instance}`)) - graph.add(CxfNs(`${instance}`), RDFNs('type'), S231Ns('Input')) - } else if (instanceDict.type_specifier.endsWith('IntegerOutput') || instanceDict.type_specifier.endsWith('BooleanOutput') || instanceDict.type_specifier.endsWith('RealOutput')) { - graph.add(CxfPrefix(blockName), S231Ns('hasOutput'), CxfNs(`${instance}`)) - graph.add(CxfNs(`${instance}`), RDFNs('type'), S231Ns('Output')) + var typeSpecifier = instanceDict.type_specifier + if (typeSpecifier.endsWith('IntegerInput') || typeSpecifier.endsWith('BooleanInput') || typeSpecifier.endsWith('RealInput')) { + // is it inputConnector + graph.add(blockNode, s231Ns('hasInput'), instanceNode) + var inputConnectorType = typeSpecifier.split('.').slice(-1)[0] + graph.add(instanceNode, rdfNs('type'), s231Ns(inputConnectorType)) + } else if (typeSpecifier.endsWith('IntegerOutput') || typeSpecifier.endsWith('BooleanOutput') || typeSpecifier.endsWith('RealOutput')) { + // is it outputConnector + graph.add(blockNode, s231Ns('hasOutput'), instanceNode) + var outputConnectorType = typeSpecifier.split('.').slice(-1)[0] + graph.add(instanceNode, rdfNs('type'), s231Ns(outputConnectorType)) + } else if (typeSpecifier.split('.').slice(-3,-2)[0] !== undefined && typeSpecifier.split('.').slice(-3,-2)[0].toUpperCase() === 'CDL') { + // is it elementary block + graph.add(blockNode, s231Ns('containsBlock'), instanceNode) + var cxfElementaryBlockName = ['CXF'].concat(typeSpecifier.split('.').slice(-2)).join('.') + graph.add(instanceNode, rdfNs('type'), s231Ns(cxfElementaryBlockName)) + } else { + // TODO: how to distinguish between control sequences and models? + graph.add(blockNode, s231Ns('containsBlock'), instanceNode) + graph.add(instanceNode, rdfNs('type'), cxfPrefix(typeSpecifier)) } } } }) // TODO: handle annotations - console.log(graph.serialize()) + // console.log(graph.serialize()) - // TODO: fix below: save as jsonld - try { - rdflib.parse(null, graph, uri, 'application/ld+json') - } catch (err) { - console.log(err) - } - + var cxfJson = null + rdflib.serialize(null, graph, uri, 'application/ld+json', (err, jsonldData) => { + if (err) { + throw err + } + cxfJson = JSON.parse(jsonldData) + }) + return cxfJson } module.exports.extractAllObjects = extractAllObjects diff --git a/lib/parser.js b/lib/parser.js index 2291d28a..8d5c92c3 100644 --- a/lib/parser.js +++ b/lib/parser.js @@ -87,14 +87,14 @@ function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPr const needParsed = ut.checkIfParse(outputFileName, moChecksum, moFile) // if the moFile has been parsed and the original moFile has no change if (!needParsed || parsedFile.includes(moFile)) { - if (outputFormat === 'semantic') { + if (outputFormat === 'semantic' || outputFormat === 'cxf') { const jsonOp = JSON.parse(fs.readFileSync(outputFileName, 'utf8')) generateAllObjectsJson(jsonOp, moFile, tempDir, prettyPrint) } if (outputFormat === 'cxf') { const jsonOp = JSON.parse(fs.readFileSync(outputFileName, 'utf8')) var allObjectsJson = generateAllObjectsJson(jsonOp, moFile, tempDir, prettyPrint) - generateCxf(allObjectsJson, moFile, tempDir) + generateCxf(allObjectsJson, moFile, tempDir, prettyPrint) } return null } @@ -107,7 +107,15 @@ function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPr // write the simplified json output to file const out = (prettyPrint === 'false') ? JSON.stringify(da) : JSON.stringify(da, null, 2) ut.writeFile(tempJsonPath, out) - generateAllObjectsJson(da, moFile, tempDir, prettyPrint) + if (outputFormat === 'semantic' || outputFormat === 'cxf') { + const jsonOp = JSON.parse(fs.readFileSync(tempJsonPath, 'utf8')) + generateAllObjectsJson(jsonOp, moFile, tempDir, prettyPrint) + } + if (outputFormat === 'cxf') { + const jsonOp = JSON.parse(fs.readFileSync(tempJsonPath, 'utf8')) + var allObjectsJson = generateAllObjectsJson(jsonOp, moFile, tempDir, prettyPrint) + generateCxf(allObjectsJson, moFile, tempDir, prettyPrint) + } // add the full path to the list const parsedPath = da.fullMoFilePath @@ -133,10 +141,13 @@ function generateAllObjectsJson (jsonOutput, moFile, tempDir, prettyPrint) { return allObjectsJson } -function generateCxf(jsonOutput, moFile, tempDir) { +function generateCxf(jsonOutput, moFile, tempDir, prettyPrint) { var instances = jsonOutput.instances var blockName = moFile.split(path.sep)[moFile.split(path.sep).length-1].split('.mo')[0] - oe.getCxfGraph(instances, blockName) + var cxfGraphJsonLd = oe.getCxfGraph(instances, blockName) + const cxfGraphJsonLdOut = (prettyPrint === 'false') ? JSON.stringify(cxfGraphJsonLd) : JSON.stringify(cxfGraphJsonLd, null, 2) + const cxfPath = ut.getOutputFile(moFile, 'cxf', tempDir) + ut.writeFile(cxfPath, cxfGraphJsonLdOut) } /** diff --git a/lib/util.js b/lib/util.js index 0e131008..f7db5a60 100644 --- a/lib/util.js +++ b/lib/util.js @@ -162,6 +162,8 @@ function getOutputFile (inputFile, outputFormat, dir) { outFile = relPat.replace('.mo', '.html') } else if (outputFormat === 'docx') { outFile = relPat.replace('.mo', '.docx') + } else if (outputFormat === 'cxf') { + outFile = relPat.replace('.mo', '.jsonld') } else if (outputFormat === 'modelica') { outFile = inputFile.replace('.json', '.mo') } From 23ff6f9c32f05bf1f2cc36b678717fe24c3a669c Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Wed, 13 Dec 2023 11:01:01 -0800 Subject: [PATCH 07/25] updating README and fixing error --- README.md | 1 + lib/objectExtractor.js | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c32dd9a0..1b0e5c90 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,7 @@ This parser takes a .mo file in input and has three possible outputs, that can b - **raw-json** : detailed transcription of a Modelica file in JSON - **json**: simplified JSON format, easier to read an interpret - **semantic**: generate semantic model from semantic information included within `annotation` in the Modelica file +- **cxf**: generate CXF representation in `.jsonld` of a CDL sequence complying with ASHRAE S231P ##### --mode / -m diff --git a/lib/objectExtractor.js b/lib/objectExtractor.js index a1b65a7f..2fe805ee 100644 --- a/lib/objectExtractor.js +++ b/lib/objectExtractor.js @@ -1,5 +1,4 @@ const rdflib = require('rdflib') -const ut = require('./util.js') // TODO: change structure to put all instances in "defined_instances" keyword @@ -191,7 +190,7 @@ function extractFromLongClassSpecifier (longClassSpecifier, fullMoFilePath, with if (identifier !== null) { instances[identifier] = dictIdentifier } - if (compositionInstances !== {}) { + if (compositionInstances.length !== 0) { instances = Object.assign({}, instances, compositionInstances) } requiredReferences = updateRequiredReferences(requiredReferences, compositionRequiredReferences) From a2d33998c84dbdb1e4a960e9f085163d7830a981 Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Wed, 13 Dec 2023 15:10:28 -0800 Subject: [PATCH 08/25] adding connections to cxf graph and adding unit test --- Makefile | 1 + app.js | 4 +- lib/objectExtractor.js | 186 +- lib/parser.js | 28 +- .../FromModelica/MisplacedInfoWithEquation.mo | 2 +- .../FromModelica/MyControllerWithSemantics.mo | 2 +- .../cxf/test/FromModelica/Block1.jsonld | 1 + .../test/FromModelica/BlockInputOutput.jsonld | 1 + .../test/FromModelica/BlockWithBlock1.jsonld | 1 + .../test/FromModelica/ConditionalBlock.jsonld | 1 + .../FromModelica/CustomPWithLimiter.jsonld | 1 + .../test/FromModelica/DynamicTextColor.jsonld | 1 + .../test/FromModelica/EmptyEquation.jsonld | 1 + .../cxf/test/FromModelica/Enable.jsonld | 1 + .../MisplacedInfoWithComponent.jsonld | 1 + .../MisplacedInfoWithEquation.jsonld | 1 + .../MisplacedInfoWithParameter.jsonld | 1 + .../cxf/test/FromModelica/MyController.jsonld | 1 + .../MyControllerWithSemantics.jsonld | 1 + .../test/FromModelica/NoClassComment.jsonld | 1 + .../cxf/test/FromModelica/NoWithin.jsonld | 1 + .../cxf/test/FromModelica/Parameter1.jsonld | 1 + .../Parameter1WithVendorAnnotation.jsonld | 1 + .../cxf/test/FromModelica/Parameter2.jsonld | 1 + .../cxf/test/FromModelica/Parameter3.jsonld | 1 + .../ParameterWithAttributes.jsonld | 1 + .../ParameterWithDefaultName.jsonld | 1 + .../FromModelica/ParameterWithInfo.jsonld | 1 + ...ParameterWithVendorAnnotationInInfo.jsonld | 1 + .../cxf/test/FromModelica/PointList.jsonld | 1 + .../test/FromModelica/RemovableInputs.jsonld | 1 + .../test/FromModelica/SubController.jsonld | 1 + .../SubControllerWithSemantics.jsonld | 1 + .../test/FromModelica/TestEvaluation_1.jsonld | 1 + .../test/FromModelica/TestEvaluation_2.jsonld | 1 + .../test/FromModelica/TestEvaluation_3.jsonld | 1 + .../test/FromModelica/TestEvaluation_4.jsonld | 1 + .../FromModelica/VariableModification.jsonld | 1 + .../FromModelica/WithCDLElementary.jsonld | 1 + .../cxf/test/FromModelica/package.jsonld | 1 + .../SingleZone/VAV/SetPoints/CoolingCoil.json | 1869 ------ .../Buildings/Controls/OBC/CDL/Constants.json | 403 -- .../Controls/OBC/CDL/Integers/Equal.json | 398 -- .../OBC/CDL/Integers/Sources/Constant.json | 358 -- .../OBC/CDL/Interfaces/BooleanInput.json | 238 - .../OBC/CDL/Interfaces/BooleanOutput.json | 238 - .../OBC/CDL/Interfaces/IntegerInput.json | 238 - .../OBC/CDL/Interfaces/IntegerOutput.json | 238 - .../OBC/CDL/Interfaces/RealInput.json | 238 - .../OBC/CDL/Interfaces/RealOutput.json | 234 - .../Controls/OBC/CDL/Interfaces/package.json | 225 - .../Controls/OBC/CDL/Logical/And.json | 381 -- .../Controls/OBC/CDL/Logical/Not.json | 297 - .../Controls/OBC/CDL/Logical/Or.json | 381 -- .../OBC/CDL/Logical/Sources/Constant.json | 381 -- .../Controls/OBC/CDL/Logical/TrueDelay.json | 735 --- .../OBC/CDL/Logical/TrueFalseHold.json | 2566 -------- .../OBC/CDL/Logical/TrueHoldWithReset.json | 1213 ---- .../Buildings/Controls/OBC/CDL/Reals/Abs.json | 426 -- .../Buildings/Controls/OBC/CDL/Reals/Add.json | 416 -- .../Controls/OBC/CDL/Reals/Derivative.json | 782 --- .../Controls/OBC/CDL/Reals/Greater.json | 1734 ------ .../Controls/OBC/CDL/Reals/Hysteresis.json | 794 --- .../OBC/CDL/Reals/IntegratorWithReset.json | 584 -- .../Controls/OBC/CDL/Reals/Limiter.json | 561 -- .../Buildings/Controls/OBC/CDL/Reals/Min.json | 339 -- .../OBC/CDL/Reals/MultiplyByParameter.json | 314 - .../Buildings/Controls/OBC/CDL/Reals/PID.json | 5127 ---------------- .../Controls/OBC/CDL/Reals/PIDWithReset.json | 5391 ----------------- .../OBC/CDL/Reals/Sources/Constant.json | 392 -- .../Controls/OBC/CDL/Reals/Subtract.json | 421 -- .../Controls/OBC/CDL/Reals/Switch.json | 562 -- .../OBC/CDL/Types/SimpleController.json | 73 - .../Controls/OBC/CDL/Utilities/Assert.json | 339 -- .../json/test/FromModelica/Block1.json | 18 +- .../MisplacedInfoWithEquation.json | 2 +- .../json/test/FromModelica/MyController.json | 949 +-- .../MyControllerWithSemantics.json | 2 +- .../json/test/FromModelica/SubController.json | 411 +- .../SubControllerWithSemantics.json | 447 +- .../MyControllerWithSemantics.ttl | 2 - .../SingleZone/VAV/SetPoints/CoolingCoil.json | 1835 ------ .../Buildings/Controls/OBC/CDL/Constants.json | 396 -- .../Controls/OBC/CDL/Integers/Equal.json | 423 -- .../OBC/CDL/Integers/Sources/Constant.json | 359 -- .../OBC/CDL/Interfaces/BooleanInput.json | 233 - .../OBC/CDL/Interfaces/BooleanOutput.json | 233 - .../OBC/CDL/Interfaces/IntegerInput.json | 233 - .../OBC/CDL/Interfaces/IntegerOutput.json | 233 - .../OBC/CDL/Interfaces/RealInput.json | 233 - .../OBC/CDL/Interfaces/RealOutput.json | 229 - .../Controls/OBC/CDL/Interfaces/package.json | 217 - .../Controls/OBC/CDL/Logical/And.json | 426 -- .../Controls/OBC/CDL/Logical/Not.json | 319 - .../Controls/OBC/CDL/Logical/Or.json | 426 -- .../OBC/CDL/Logical/Sources/Constant.json | 382 -- .../Controls/OBC/CDL/Logical/TrueDelay.json | 574 -- .../OBC/CDL/Logical/TrueFalseHold.json | 1621 ----- .../OBC/CDL/Logical/TrueHoldWithReset.json | 899 --- .../Buildings/Controls/OBC/CDL/Reals/Abs.json | 439 -- .../Buildings/Controls/OBC/CDL/Reals/Add.json | 461 -- .../Controls/OBC/CDL/Reals/Derivative.json | 800 --- .../Controls/OBC/CDL/Reals/Greater.json | 1100 ---- .../Controls/OBC/CDL/Reals/Hysteresis.json | 724 --- .../OBC/CDL/Reals/IntegratorWithReset.json | 658 -- .../Controls/OBC/CDL/Reals/Limiter.json | 532 -- .../Buildings/Controls/OBC/CDL/Reals/Min.json | 372 -- .../OBC/CDL/Reals/MultiplyByParameter.json | 338 -- .../Buildings/Controls/OBC/CDL/Reals/PID.json | 4587 -------------- .../Controls/OBC/CDL/Reals/PIDWithReset.json | 4854 --------------- .../OBC/CDL/Reals/Sources/Constant.json | 393 -- .../Controls/OBC/CDL/Reals/Subtract.json | 466 -- .../Controls/OBC/CDL/Reals/Switch.json | 618 -- .../OBC/CDL/Types/SimpleController.json | 4 - .../Controls/OBC/CDL/Utilities/Assert.json | 322 - .../objects/test/FromModelica/Block1.json | 11 +- .../test/FromModelica/BlockInputOutput.json | 2 +- .../test/FromModelica/BlockWithBlock1.json | 2 +- .../test/FromModelica/ConditionalBlock.json | 2 +- .../test/FromModelica/CustomPWithLimiter.json | 2 +- .../test/FromModelica/DynamicTextColor.json | 2 +- .../objects/test/FromModelica/Enable.json | 2 +- .../test/FromModelica/ExtendsClause_1.json | 2 +- .../test/FromModelica/ExtendsClause_2.json | 2 +- .../test/FromModelica/ExtendsClause_3.json | 2 +- .../MisplacedInfoWithComponent.json | 2 +- .../MisplacedInfoWithEquation.json | 2 +- .../MisplacedInfoWithParameter.json | 2 +- .../test/FromModelica/MyController.json | 2 +- .../MyControllerWithSemantics.json | 2 +- .../test/FromModelica/NoClassComment.json | 2 +- .../objects/test/FromModelica/NoWithin.json | 2 +- .../objects/test/FromModelica/Parameter1.json | 2 +- .../Parameter1WithVendorAnnotation.json | 2 +- .../objects/test/FromModelica/Parameter2.json | 2 +- .../objects/test/FromModelica/Parameter3.json | 2 +- .../FromModelica/ParameterWithAttributes.json | 2 +- .../ParameterWithDefaultName.json | 2 +- .../test/FromModelica/ParameterWithInfo.json | 2 +- .../ParameterWithVendorAnnotationInInfo.json | 2 +- .../objects/test/FromModelica/PointList.json | 2 +- .../test/FromModelica/RemovableInputs.json | 2 +- .../test/FromModelica/SubController.json | 615 +- .../SubControllerWithSemantics.json | 2 +- .../test/FromModelica/TestEvaluation_1.json | 2 +- .../test/FromModelica/TestEvaluation_2.json | 2 +- .../test/FromModelica/TestEvaluation_3.json | 2 +- .../test/FromModelica/TestEvaluation_4.json | 2 +- .../FromModelica/VariableModification.json | 2 +- .../test/FromModelica/WithCDLElementary.json | 2 +- .../objects/test/FromModelica/package.json | 2 +- .../MisplacedInfoWithEquation.json | 2 +- .../MyControllerWithSemantics.json | 2 +- test/test_jsonquery.js | 2 +- test/test_parser.js | 57 +- 155 files changed, 269 insertions(+), 57401 deletions(-) create mode 100644 test/reference/cxf/test/FromModelica/Block1.jsonld create mode 100644 test/reference/cxf/test/FromModelica/BlockInputOutput.jsonld create mode 100644 test/reference/cxf/test/FromModelica/BlockWithBlock1.jsonld create mode 100644 test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld create mode 100644 test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld create mode 100644 test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld create mode 100644 test/reference/cxf/test/FromModelica/EmptyEquation.jsonld create mode 100644 test/reference/cxf/test/FromModelica/Enable.jsonld create mode 100644 test/reference/cxf/test/FromModelica/MisplacedInfoWithComponent.jsonld create mode 100644 test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld create mode 100644 test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld create mode 100644 test/reference/cxf/test/FromModelica/MyController.jsonld create mode 100644 test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld create mode 100644 test/reference/cxf/test/FromModelica/NoClassComment.jsonld create mode 100644 test/reference/cxf/test/FromModelica/NoWithin.jsonld create mode 100644 test/reference/cxf/test/FromModelica/Parameter1.jsonld create mode 100644 test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld create mode 100644 test/reference/cxf/test/FromModelica/Parameter2.jsonld create mode 100644 test/reference/cxf/test/FromModelica/Parameter3.jsonld create mode 100644 test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld create mode 100644 test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld create mode 100644 test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld create mode 100644 test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld create mode 100644 test/reference/cxf/test/FromModelica/PointList.jsonld create mode 100644 test/reference/cxf/test/FromModelica/RemovableInputs.jsonld create mode 100644 test/reference/cxf/test/FromModelica/SubController.jsonld create mode 100644 test/reference/cxf/test/FromModelica/SubControllerWithSemantics.jsonld create mode 100644 test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld create mode 100644 test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld create mode 100644 test/reference/cxf/test/FromModelica/TestEvaluation_3.jsonld create mode 100644 test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld create mode 100644 test/reference/cxf/test/FromModelica/VariableModification.jsonld create mode 100644 test/reference/cxf/test/FromModelica/WithCDLElementary.jsonld create mode 100644 test/reference/cxf/test/FromModelica/package.jsonld delete mode 100644 test/reference/json/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Constants.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Integers/Equal.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/BooleanInput.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/BooleanOutput.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/IntegerInput.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/IntegerOutput.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/RealInput.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/RealOutput.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/package.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Logical/And.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Logical/Not.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Logical/Or.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Abs.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Add.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Derivative.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Greater.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Hysteresis.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Limiter.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Min.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/PID.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Subtract.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Switch.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Types/SimpleController.json delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Utilities/Assert.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Constants.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Integers/Equal.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/BooleanInput.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/BooleanOutput.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/IntegerInput.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/IntegerOutput.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/RealInput.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/RealOutput.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/package.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Logical/And.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Not.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Or.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Abs.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Add.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Derivative.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Greater.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Hysteresis.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Limiter.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Min.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Reals/PID.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Subtract.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Switch.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Types/SimpleController.json delete mode 100644 test/reference/objects/Buildings/Controls/OBC/CDL/Utilities/Assert.json diff --git a/Makefile b/Makefile index 5bcc947a..7e0a6ea1 100644 --- a/Makefile +++ b/Makefile @@ -44,6 +44,7 @@ generate-reference-output: node app.js -l warn -f $${ff} -o raw-json -d ./test/reference; \ node app.js -l warn -f $${ff} -o json -d ./test/reference; \ node app.js -l warn -f $${ff} -o semantic -d ./test/reference; \ + node app.js -l warn -f $${ff} -o cxf -d ./test/reference; \ done) clean-node-packages: diff --git a/app.js b/app.js index 9518889b..5a96965b 100644 --- a/app.js +++ b/app.js @@ -125,7 +125,7 @@ if (args.output === 'json') { jsonFiles = jsonFiles.filter(obj => !(obj.includes(cdlPath) || obj.includes(modelicaPath))) // validate json schema for (let i = 0; i < jsonFiles.length; i++) { - const eachFile = jsonFiles[i] - setTimeout(function () { ut.jsonSchemaValidation(args.mode, eachFile, 'json', schema) }, 100) + const eachFile = jsonFiles[i] + setTimeout(function () { ut.jsonSchemaValidation(args.mode, eachFile, 'json', schema) }, 100) } } diff --git a/lib/objectExtractor.js b/lib/objectExtractor.js index 2fe805ee..533cf72d 100644 --- a/lib/objectExtractor.js +++ b/lib/objectExtractor.js @@ -209,7 +209,7 @@ function extractFromComposition (composition, longClassSpecifierIdentifier, full } if ('element_list' in composition && composition.element_list !== undefined) { - var elementList = composition.element_list + const elementList = composition.element_list // TODO: check with jianjun newAllObjects = extractFromElementList(elementList, longClassSpecifierIdentifier, fullMoFilePath, within, 'public') instances = Object.assign({}, instances, newAllObjects.instances) @@ -221,13 +221,13 @@ function extractFromComposition (composition, longClassSpecifierIdentifier, full for (let i = 0; i < elementSections.length; i++) { const elementSection = elementSections[i] if ('public_element_list' in elementSection && elementSection.public_element_list !== undefined) { - var publicElementList = elementSection.public_element_list + const publicElementList = elementSection.public_element_list newAllObjects = extractFromElementList(publicElementList, longClassSpecifierIdentifier, fullMoFilePath, within, 'public') instances = Object.assign({}, instances, newAllObjects.instances) requiredReferences = updateRequiredReferences(requiredReferences, newAllObjects.requiredReferences) } if ('protected_element_list' in elementSection && elementSection.protected_element_list !== undefined) { - var protectedElementList = elementSection.protected_element_list + const protectedElementList = elementSection.protected_element_list newAllObjects = extractFromElementList(protectedElementList, longClassSpecifierIdentifier, fullMoFilePath, within, 'protected') instances = Object.assign({}, instances, newAllObjects.instances) requiredReferences = updateRequiredReferences(requiredReferences, newAllObjects.requiredReferences) @@ -249,8 +249,8 @@ function extractFromComposition (composition, longClassSpecifierIdentifier, full } function extractFromElementList (elementList, longClassSpecifierIdentifier, fullMoFilePath, within, compositionSpecifier) { - var instances = {} - var requiredReferences = {} + let instances = {} + let requiredReferences = {} for (let i = 0; i < elementList.length; i++) { const element = elementList[i] @@ -258,9 +258,9 @@ function extractFromElementList (elementList, longClassSpecifierIdentifier, full if ('extends_clause' in element && element.extends_clause !== undefined) { const extendsClause = element.extends_clause if (longClassSpecifierIdentifier !== null) { - extendsClause['long_class_specifier_identifier'] = longClassSpecifierIdentifier - extendsClause['within'] = within - extendsClause['compositionSpecifier'] = compositionSpecifier + extendsClause.long_class_specifier_identifier = longClassSpecifierIdentifier + extendsClause.within = within + extendsClause.compositionSpecifier = compositionSpecifier } if ('extends_clause' in requiredReferences) { @@ -272,9 +272,9 @@ function extractFromElementList (elementList, longClassSpecifierIdentifier, full if ('import_clause' in element && element.import_clause !== undefined) { const importClause = element.import_clause if (longClassSpecifierIdentifier !== null) { - importClause['long_class_specifier_identifier'] = longClassSpecifierIdentifier - importClause['within'] = within - importClause['compositionSpecifier'] = compositionSpecifier + importClause.long_class_specifier_identifier = longClassSpecifierIdentifier + importClause.within = within + importClause.compositionSpecifier = compositionSpecifier } if ('import_clause' in requiredReferences) { requiredReferences.import_clause = requiredReferences.import_clause.concat([importClause]) @@ -283,15 +283,15 @@ function extractFromElementList (elementList, longClassSpecifierIdentifier, full } } if ('class_definition' in element && element.class_definition !== undefined) { - var classDefinitionInstance = {} - var classSpecifier = element.class_definition.class_specifier - var classPrefixes = element.class_definition.class_prefixes - var identifier2 = null - var dict = { - 'within': within, - 'fullMoFilePath': fullMoFilePath, - 'classPrefixes': classPrefixes, - 'compositionSpecifier': compositionSpecifier + const classDefinitionInstance = {} + const classSpecifier = element.class_definition.class_specifier + const classPrefixes = element.class_definition.class_prefixes + let identifier2 = null + const dict = { + within, + fullMoFilePath, + classPrefixes, + compositionSpecifier } if ('long_class_specifier' in classSpecifier) { dict.type = 'long_class_specifier' @@ -330,17 +330,17 @@ function extractFromElementList (elementList, longClassSpecifierIdentifier, full } } instances[identifier] = { - 'type_prefix': typePrefix, - 'type_specifier': typeSpecifier, - 'array_subscripts': arraySubscripts, - 'type': 'element', - 'compositionSpecifier': compositionSpecifier, - 'long_class_specifier_identifier': longClassSpecifierIdentifier, - 'single_component_list': singleComponentList, - 'annotation': annotation, - 'semantics': extractSemanticsFromAnnotations(annotation, identifier), - 'within': within, - 'fullMoFilePath': fullMoFilePath + type_prefix: typePrefix, + type_specifier: typeSpecifier, + array_subscripts: arraySubscripts, + type: 'element', + compositionSpecifier, + long_class_specifier_identifier: longClassSpecifierIdentifier, + single_component_list: singleComponentList, + annotation, + semantics: extractSemanticsFromAnnotations(annotation, identifier), + within, + fullMoFilePath } } } @@ -442,70 +442,91 @@ function extractSemanticsFromAnnotations (annotation, instanceIdentifier) { return semantics } -function getCxfGraph(instances, blockName, generateCxfCore=false) { - var instanceCategoryDict = {} - var instancesList = [] +function checkValidCdl (instances, requiredReferences) { + // TODO: check if its valid CDL + if ('extends_clause' in requiredReferences) { + return false + } + return true +} + +function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore = false) { + let instancesList = [] if (instances !== null || instances.length > 0) { instancesList = Object.keys(instances) } - var graph = rdflib.graph() - var cxfPrefix = rdflib.Namespace(`seq:`) - var cxfNs = rdflib.Namespace(`seq:${blockName}#`) - var s231Ns = rdflib.Namespace('https://data.ashrae.org/S231P#') - var rdfNs = rdflib.Namespace("http://www.w3.org/1999/02/22-rdf-syntax-ns#") + if (!checkValidCdl(instances, requiredReferences)) { + return null + } + + const graph = rdflib.graph() + const cxfPrefix = rdflib.Namespace('seq:') + const s231Ns = rdflib.Namespace('https://data.ashrae.org/S231P#') + const rdfNs = rdflib.Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#') const uri = blockName + '.jsonld' + const newInstances = {} + instancesList.forEach(instance => { - var instanceDict = instances[instance] - var instanceType = null - var within = instanceDict.within + const instanceDict = instances[instance] + const newInstanceDict = {} + // Object.assign(newInstanceDict, instances[instance]); + let instanceType = null + const within = instanceDict.within if (instanceDict === null) { - // TODO: handle later - } + // TODO: handle later + } instanceType = instanceDict.type if (instanceType === 'long_class_specifier') { - //check if CDL elementary block + // check if CDL elementary block // TODO: check if we should include package name within sequence - if (within !== undefined && within.split('.').slice(-2,-1)[0] !== undefined && within.split('.').slice(-2,-1)[0].toUpperCase() === 'CDL') { + if (within !== undefined && within !== null && within.length > 0 && within.split('.').slice(-2, -1)[0] !== undefined && within.split('.').slice(-2, -1)[0].toUpperCase() === 'CDL') { if (generateCxfCore) { // TODO: handle cxf-core - graph.add(s231Ns(blockName), rdfNs('type'), s231Ns('ElementaryBlock')) + graph.add(s231Ns(blockName), rdfNs('type'), s231Ns('ElementaryBlock')) } } else { - // TODO: how to separate composite block v/s extension block - graph.add(cxfPrefix(blockName), rdfNs('type'), s231Ns('Block')) + // TODO: how to separate composite block v/s extension block + graph.add(cxfPrefix(blockName), rdfNs('type'), s231Ns('Block')) + newInstanceDict.cxfNode = cxfPrefix(blockName) } - } else if (instanceType === 'element') { - var className = instanceDict.long_class_specifier_identifier === undefined? blockName: instanceDict.long_class_specifier_identifier - var instanceNode = cxfPrefix(`${className}#${instance}`) - var blockNode = cxfPrefix(`${className}`) - // console.log(instance, instanceDict) - if (instanceDict.type_prefix === 'parameter') { - var value = { - instance: {} - } + } else if (instanceType === 'element') { + const className = instanceDict.long_class_specifier_identifier === undefined ? blockName : instanceDict.long_class_specifier_identifier + const instanceNode = cxfPrefix(`${className}#${instance}`) + const blockNode = cxfPrefix(`${className}`) + const typeSpecifier = instanceDict.type_specifier + + if (instanceDict.type_prefix === 'parameter') { graph.add(blockNode, s231Ns('hasParameter'), instanceNode) - } - else if (instanceDict.type_prefix === '' || instanceDict.type_prefix === undefined) { - var typeSpecifier = instanceDict.type_specifier + // TODO: check if enumeration should be here + if (typeSpecifier !== undefined && ['Real', 'Integer', 'Boolean', 'String'].includes(typeSpecifier)) { + graph.add(instanceNode, s231Ns('isOfDataType'), s231Ns(typeSpecifier)) + } + } else if (instanceDict.type_prefix === 'constant') { + graph.add(blockNode, s231Ns('hasConstant'), instanceNode) + // TODO: check if enumeration should be here + if (typeSpecifier !== undefined && ['Real', 'Integer', 'Boolean', 'String'].includes(typeSpecifier)) { + graph.add(instanceNode, s231Ns('isOfDataType'), s231Ns(typeSpecifier)) + } + } else if (instanceDict.type_prefix === '' || instanceDict.type_prefix === undefined) { if (typeSpecifier.endsWith('IntegerInput') || typeSpecifier.endsWith('BooleanInput') || typeSpecifier.endsWith('RealInput')) { // is it inputConnector graph.add(blockNode, s231Ns('hasInput'), instanceNode) - var inputConnectorType = typeSpecifier.split('.').slice(-1)[0] + const inputConnectorType = typeSpecifier.split('.').slice(-1)[0] graph.add(instanceNode, rdfNs('type'), s231Ns(inputConnectorType)) } else if (typeSpecifier.endsWith('IntegerOutput') || typeSpecifier.endsWith('BooleanOutput') || typeSpecifier.endsWith('RealOutput')) { // is it outputConnector graph.add(blockNode, s231Ns('hasOutput'), instanceNode) - var outputConnectorType = typeSpecifier.split('.').slice(-1)[0] + const outputConnectorType = typeSpecifier.split('.').slice(-1)[0] graph.add(instanceNode, rdfNs('type'), s231Ns(outputConnectorType)) - } else if (typeSpecifier.split('.').slice(-3,-2)[0] !== undefined && typeSpecifier.split('.').slice(-3,-2)[0].toUpperCase() === 'CDL') { + } else if (typeSpecifier.split('.').slice(-3, -2)[0] !== undefined && typeSpecifier.split('.').slice(-3, -2)[0].toUpperCase() === 'CDL') { // is it elementary block graph.add(blockNode, s231Ns('containsBlock'), instanceNode) - var cxfElementaryBlockName = ['CXF'].concat(typeSpecifier.split('.').slice(-2)).join('.') + const cxfElementaryBlockName = ['CXF'].concat(typeSpecifier.split('.').slice(-2)).join('.') graph.add(instanceNode, rdfNs('type'), s231Ns(cxfElementaryBlockName)) } else { // TODO: how to distinguish between control sequences and models? @@ -513,14 +534,27 @@ function getCxfGraph(instances, blockName, generateCxfCore=false) { graph.add(instanceNode, rdfNs('type'), cxfPrefix(typeSpecifier)) } } - } + newInstanceDict.cxfNode = instanceNode + } + newInstances[instance] = newInstanceDict }) - // TODO: handle annotations - // console.log(graph.serialize()) - var cxfJson = null + const connections = requiredReferences.connections + if (connections !== undefined && connections !== null) { + Object.keys(connections).forEach(fromElement => { + const fromNode = getInstanceNode(fromElement, cxfPrefix, newInstances) + + const toElements = connections[fromElement] + toElements.forEach(toElement => { + const toNode = getInstanceNode(toElement, cxfPrefix, newInstances) + graph.add(fromNode, s231Ns('isConnectedTo'), toNode) + }) + }) + } + + let cxfJson = null rdflib.serialize(null, graph, uri, 'application/ld+json', (err, jsonldData) => { - if (err) { + if (err) { throw err } cxfJson = JSON.parse(jsonldData) @@ -528,6 +562,18 @@ function getCxfGraph(instances, blockName, generateCxfCore=false) { return cxfJson } +function getInstanceNode (element, cxfPrefix, newInstances) { + let node = null + if (element.split('.').length > 1) { + const instance = element.split('.').slice(0, 1)[0] + const instanceNode = newInstances[instance].cxfNode + node = cxfPrefix(instanceNode.value + '#' + element.split('.').slice(1).join('#')) + } else { + node = newInstances[element].cxfNode + } + return node +} + module.exports.extractAllObjects = extractAllObjects module.exports.updateConnections = updateConnections module.exports.updateRequiredReferences = updateRequiredReferences diff --git a/lib/parser.js b/lib/parser.js index 8d5c92c3..d3dee7d8 100644 --- a/lib/parser.js +++ b/lib/parser.js @@ -93,7 +93,7 @@ function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPr } if (outputFormat === 'cxf') { const jsonOp = JSON.parse(fs.readFileSync(outputFileName, 'utf8')) - var allObjectsJson = generateAllObjectsJson(jsonOp, moFile, tempDir, prettyPrint) + const allObjectsJson = generateAllObjectsJson(jsonOp, moFile, tempDir, prettyPrint) generateCxf(allObjectsJson, moFile, tempDir, prettyPrint) } return null @@ -113,8 +113,8 @@ function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPr } if (outputFormat === 'cxf') { const jsonOp = JSON.parse(fs.readFileSync(tempJsonPath, 'utf8')) - var allObjectsJson = generateAllObjectsJson(jsonOp, moFile, tempDir, prettyPrint) - generateCxf(allObjectsJson, moFile, tempDir, prettyPrint) + const allObjectsJson2 = generateAllObjectsJson(jsonOp, moFile, tempDir, prettyPrint) + generateCxf(allObjectsJson2, moFile, tempDir, prettyPrint) } // add the full path to the list @@ -125,7 +125,7 @@ function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPr if (instantiateClass.length > 0) { instantiateClass.forEach(function (obj) { if (!parsedFile.includes(obj)) { - parsedFile.push(getSimpleJson(obj, parseMode, tempDir, parsedFile, moFile)) + parsedFile.push(getSimpleJson(obj, parseMode, tempDir, parsedFile, outDir, prettyPrint, outputFormat)) } }) } @@ -141,13 +141,19 @@ function generateAllObjectsJson (jsonOutput, moFile, tempDir, prettyPrint) { return allObjectsJson } -function generateCxf(jsonOutput, moFile, tempDir, prettyPrint) { - var instances = jsonOutput.instances - var blockName = moFile.split(path.sep)[moFile.split(path.sep).length-1].split('.mo')[0] - var cxfGraphJsonLd = oe.getCxfGraph(instances, blockName) - const cxfGraphJsonLdOut = (prettyPrint === 'false') ? JSON.stringify(cxfGraphJsonLd) : JSON.stringify(cxfGraphJsonLd, null, 2) - const cxfPath = ut.getOutputFile(moFile, 'cxf', tempDir) - ut.writeFile(cxfPath, cxfGraphJsonLdOut) +function generateCxf (jsonOutput, moFile, tempDir, prettyPrint) { + const instances = jsonOutput.instances + const requiredReferences = jsonOutput.requiredReferences + const blockName = moFile.split(path.sep)[moFile.split(path.sep).length - 1].split('.mo')[0] + const cxfGraphJsonLd = oe.getCxfGraph(instances, requiredReferences, blockName) + if (cxfGraphJsonLd !== undefined && cxfGraphJsonLd !== null) { + const cxfGraphJsonLdOut = (prettyPrint === 'false') ? JSON.stringify(cxfGraphJsonLd) : JSON.stringify(cxfGraphJsonLd, null, 2) + const cxfPath = ut.getOutputFile(moFile, 'cxf', tempDir) + ut.writeFile(cxfPath, cxfGraphJsonLdOut) + } else { + // TODO: only extract CDL instances + // console.log(`${moFile} not a valid CDL file. Not generating CXF`) + } } /** diff --git a/test/FromModelica/MisplacedInfoWithEquation.mo b/test/FromModelica/MisplacedInfoWithEquation.mo index fb5fafbf..38828070 100644 --- a/test/FromModelica/MisplacedInfoWithEquation.mo +++ b/test/FromModelica/MisplacedInfoWithEquation.mo @@ -20,7 +20,7 @@ block MisplacedInfoWithEquation equation connect(u, gain.u) annotation ( Line(points={{-120,0},{-2,0}},color={0,0,127})); - connect(gain.y, y) annotation ( + connect(gain.y, y1) annotation ( Line(points={{22,0},{110,0}},color={0,0,127})); y2 = k * u annotation (Documentation(info=" diff --git a/test/FromModelica/MyControllerWithSemantics.mo b/test/FromModelica/MyControllerWithSemantics.mo index a6eebbd7..09557c0e 100644 --- a/test/FromModelica/MyControllerWithSemantics.mo +++ b/test/FromModelica/MyControllerWithSemantics.mo @@ -42,7 +42,7 @@ equation -6}}, color={0,0,127})); connect(add2.y, y) annotation (Line(points={{12,0},{120,0}}, color={0,0,127})); - connect(u2, subCon1.u) + connect(u2, heaCoi.u) annotation (Line(points={{-120,-40},{-12,-40}}, color={0,0,127})); connect(u2, subCon2.u) annotation (Line(points={{-120,-40},{-60,-40},{-60,-80}, {-12,-80}}, color={0,0,127})); diff --git a/test/reference/cxf/test/FromModelica/Block1.jsonld b/test/reference/cxf/test/FromModelica/Block1.jsonld new file mode 100644 index 00000000..b93968f9 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/Block1.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@id":"seq:Block1","@type":"S231P:Block"} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/BlockInputOutput.jsonld b/test/reference/cxf/test/FromModelica/BlockInputOutput.jsonld new file mode 100644 index 00000000..638bbb4d --- /dev/null +++ b/test/reference/cxf/test/FromModelica/BlockInputOutput.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:BlockInputOutput","@type":"S231P:Block","S231P:hasInput":{"@id":"seq:BlockInputOutput#u"},"S231P:hasOutput":{"@id":"seq:BlockInputOutput#y"}},{"@id":"seq:BlockInputOutput#u","@type":"S231P:RealInput"},{"@id":"seq:BlockInputOutput#y","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/BlockWithBlock1.jsonld b/test/reference/cxf/test/FromModelica/BlockWithBlock1.jsonld new file mode 100644 index 00000000..9cf13881 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/BlockWithBlock1.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:BlockWithBlock1","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:BlockWithBlock1#bloPro"},{"@id":"seq:BlockWithBlock1#bloPub"}]},{"@id":"seq:BlockWithBlock1#bloPro","@type":"seq:Block1"},{"@id":"seq:BlockWithBlock1#bloPub","@type":"seq:Block1"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld b/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld new file mode 100644 index 00000000..b480034c --- /dev/null +++ b/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:ConditionalBlock","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:ConditionalBlock#abs"},"S231P:hasInput":{"@id":"seq:ConditionalBlock#u"},"S231P:hasOutput":{"@id":"seq:ConditionalBlock#y"},"S231P:hasParameter":{"@id":"seq:ConditionalBlock#enaBlo"}},{"@id":"seq:ConditionalBlock#abs","@type":"https://data.ashrae.org/S231P#CXF.Reals.Abs"},{"@id":"seq:ConditionalBlock#enaBlo","S231P:isOfDataType":{"@id":"S231P:Boolean"}},{"@id":"seq:ConditionalBlock#u","@type":"S231P:RealInput"},{"@id":"seq:ConditionalBlock#y","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld b/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld new file mode 100644 index 00000000..509ee0ca --- /dev/null +++ b/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:CustomPWithLimiter","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:CustomPWithLimiter#gain"},{"@id":"seq:CustomPWithLimiter#minValue"}],"S231P:hasInput":[{"@id":"seq:CustomPWithLimiter#e"},{"@id":"seq:CustomPWithLimiter#yMax"}],"S231P:hasOutput":{"@id":"seq:CustomPWithLimiter#y"},"S231P:hasParameter":{"@id":"seq:CustomPWithLimiter#k"}},{"@id":"seq:CustomPWithLimiter#e","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:CustomPWithLimiter#gain#u"}},{"@id":"seq:CustomPWithLimiter#gain","@type":"https://data.ashrae.org/S231P#CXF.Reals.MultiplyByParameter"},{"@id":"seq:CustomPWithLimiter#k","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:CustomPWithLimiter#minValue","@type":"https://data.ashrae.org/S231P#CXF.Reals.Min"},{"@id":"seq:CustomPWithLimiter#y","@type":"S231P:RealOutput"},{"@id":"seq:CustomPWithLimiter#yMax","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:CustomPWithLimiter#minValue#u1"}},{"@id":"seq:seq:CustomPWithLimiter#gain#y","S231P:isConnectedTo":{"@id":"seq:seq:CustomPWithLimiter#minValue#u2"}},{"@id":"seq:seq:CustomPWithLimiter#minValue#y","S231P:isConnectedTo":{"@id":"seq:CustomPWithLimiter#y"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld b/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld new file mode 100644 index 00000000..a75f23cf --- /dev/null +++ b/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:DynamicTextColor","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:DynamicTextColor#u"}},{"@id":"seq:DynamicTextColor#u","@type":"https://data.ashrae.org/S231P#CXF.Interfaces.Boolean"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/EmptyEquation.jsonld b/test/reference/cxf/test/FromModelica/EmptyEquation.jsonld new file mode 100644 index 00000000..f152d007 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/EmptyEquation.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@id":"seq:EmptyEquation","@type":"S231P:Block"} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/Enable.jsonld b/test/reference/cxf/test/FromModelica/Enable.jsonld new file mode 100644 index 00000000..35a22bfd --- /dev/null +++ b/test/reference/cxf/test/FromModelica/Enable.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:Enable","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:Enable#and1"},{"@id":"seq:Enable#and2"},{"@id":"seq:Enable#and3"},{"@id":"seq:Enable#andEnaDis"},{"@id":"seq:Enable#conInt"},{"@id":"seq:Enable#delOutDamOsc"},{"@id":"seq:Enable#delRetDam"},{"@id":"seq:Enable#entSubst1"},{"@id":"seq:Enable#hysOutEnt"},{"@id":"seq:Enable#hysOutTem"},{"@id":"seq:Enable#intEqu"},{"@id":"seq:Enable#maxRetDamSwitch"},{"@id":"seq:Enable#minRetDamSwitch"},{"@id":"seq:Enable#not1"},{"@id":"seq:Enable#not2"},{"@id":"seq:Enable#or2"},{"@id":"seq:Enable#outDamSwitch"},{"@id":"seq:Enable#retDamSwitch"},{"@id":"seq:Enable#sub1"},{"@id":"seq:Enable#sub2"},{"@id":"seq:Enable#truFalHol"}],"S231P:hasInput":[{"@id":"seq:Enable#hOut"},{"@id":"seq:Enable#hOutCut"},{"@id":"seq:Enable#TOut"},{"@id":"seq:Enable#TOutCut"},{"@id":"seq:Enable#u1SupFan"},{"@id":"seq:Enable#uFreProSta"},{"@id":"seq:Enable#uOutDam_max"},{"@id":"seq:Enable#uOutDam_min"},{"@id":"seq:Enable#uRetDam_max"},{"@id":"seq:Enable#uRetDam_min"},{"@id":"seq:Enable#uRetDamPhy_max"}],"S231P:hasOutput":[{"@id":"seq:Enable#yOutDam_max"},{"@id":"seq:Enable#yRetDam_max"},{"@id":"seq:Enable#yRetDam_min"}],"S231P:hasParameter":[{"@id":"seq:Enable#delEntHis"},{"@id":"seq:Enable#delTOutHis"},{"@id":"seq:Enable#disDel"},{"@id":"seq:Enable#hOutHigLimCutHig"},{"@id":"seq:Enable#hOutHigLimCutLow"},{"@id":"seq:Enable#retDamFulOpeTim"},{"@id":"seq:Enable#TOutHigLimCutHig"},{"@id":"seq:Enable#TOutHigLimCutLow"},{"@id":"seq:Enable#use_enthalpy"}]},{"@id":"seq:Enable#and1","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#and2","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#and3","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#andEnaDis","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#conInt","@type":"seq:Buildings.Controls.OBC.CDL.Integers.Sources.Constant"},{"@id":"seq:Enable#delEntHis","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#delOutDamOsc","@type":"https://data.ashrae.org/S231P#CXF.Logical.TrueDelay"},{"@id":"seq:Enable#delRetDam","@type":"https://data.ashrae.org/S231P#CXF.Logical.TrueDelay"},{"@id":"seq:Enable#delTOutHis","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#disDel","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#entSubst1","@type":"seq:Buildings.Controls.OBC.CDL.Logical.Sources.Constant"},{"@id":"seq:Enable#hOut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:Enable#sub2#u1"}},{"@id":"seq:Enable#hOutCut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:Enable#sub2#u2"}},{"@id":"seq:Enable#hOutHigLimCutHig","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#hOutHigLimCutLow","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#hysOutEnt","@type":"https://data.ashrae.org/S231P#CXF.Reals.Hysteresis"},{"@id":"seq:Enable#hysOutTem","@type":"https://data.ashrae.org/S231P#CXF.Reals.Hysteresis"},{"@id":"seq:Enable#intEqu","@type":"https://data.ashrae.org/S231P#CXF.Integers.Equal"},{"@id":"seq:Enable#maxRetDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#minRetDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#not1","@type":"https://data.ashrae.org/S231P#CXF.Logical.Not"},{"@id":"seq:Enable#not2","@type":"https://data.ashrae.org/S231P#CXF.Logical.Not"},{"@id":"seq:Enable#or2","@type":"https://data.ashrae.org/S231P#CXF.Logical.Or"},{"@id":"seq:Enable#outDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#retDamFulOpeTim","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#retDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#sub1","@type":"https://data.ashrae.org/S231P#CXF.Reals.Subtract"},{"@id":"seq:Enable#sub2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Subtract"},{"@id":"seq:Enable#TOut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:Enable#sub1#u1"}},{"@id":"seq:Enable#TOutCut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:Enable#sub1#u2"}},{"@id":"seq:Enable#TOutHigLimCutHig","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#TOutHigLimCutLow","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#truFalHol","@type":"https://data.ashrae.org/S231P#CXF.Logical.TrueFalseHold"},{"@id":"seq:Enable#u1SupFan","@type":"S231P:BooleanInput","S231P:isConnectedTo":{"@id":"seq:seq:Enable#and1#u2"}},{"@id":"seq:Enable#uFreProSta","@type":"S231P:IntegerInput","S231P:isConnectedTo":{"@id":"seq:seq:Enable#intEqu#u1"}},{"@id":"seq:Enable#uOutDam_max","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:Enable#outDamSwitch#u3"}},{"@id":"seq:Enable#uOutDam_min","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:Enable#outDamSwitch#u1"}},{"@id":"seq:Enable#uRetDam_max","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:seq:Enable#maxRetDamSwitch#u3"},{"@id":"seq:seq:Enable#retDamSwitch#u1"}]},{"@id":"seq:Enable#uRetDam_min","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:Enable#retDamSwitch#u3"}},{"@id":"seq:Enable#uRetDamPhy_max","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:seq:Enable#maxRetDamSwitch#u1"},{"@id":"seq:seq:Enable#minRetDamSwitch#u1"}]},{"@id":"seq:Enable#use_enthalpy","S231P:isOfDataType":{"@id":"S231P:Boolean"}},{"@id":"seq:Enable#yOutDam_max","@type":"S231P:RealOutput"},{"@id":"seq:Enable#yRetDam_max","@type":"S231P:RealOutput"},{"@id":"seq:Enable#yRetDam_min","@type":"S231P:RealOutput"},{"@id":"seq:seq:Enable#and1#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#andEnaDis#u1"}},{"@id":"seq:seq:Enable#and2#u1","S231P:isConnectedTo":{"@id":"seq:seq:Enable#not2#y"}},{"@id":"seq:seq:Enable#and2#y","S231P:isConnectedTo":[{"@id":"seq:seq:Enable#maxRetDamSwitch#u2"},{"@id":"seq:seq:Enable#minRetDamSwitch#u2"}]},{"@id":"seq:seq:Enable#and3#u2","S231P:isConnectedTo":{"@id":"seq:seq:Enable#delOutDamOsc#y"}},{"@id":"seq:seq:Enable#andEnaDis#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#not2#u"}},{"@id":"seq:seq:Enable#conInt#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#intEqu#u2"}},{"@id":"seq:seq:Enable#delOutDamOsc#u","S231P:isConnectedTo":{"@id":"seq:seq:Enable#not2#y"}},{"@id":"seq:seq:Enable#delRetDam#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#not1#u"}},{"@id":"seq:seq:Enable#entSubst1#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#or2#u2"}},{"@id":"seq:seq:Enable#hysOutEnt#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#or2#u2"}},{"@id":"seq:seq:Enable#hysOutTem#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#or2#u1"}},{"@id":"seq:seq:Enable#intEqu#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#andEnaDis#u2"}},{"@id":"seq:seq:Enable#maxRetDamSwitch#y","S231P:isConnectedTo":{"@id":"seq:Enable#yRetDam_max"}},{"@id":"seq:seq:Enable#minRetDamSwitch#y","S231P:isConnectedTo":{"@id":"seq:Enable#yRetDam_min"}},{"@id":"seq:seq:Enable#not1#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#and2#u2"}},{"@id":"seq:seq:Enable#not2#y","S231P:isConnectedTo":[{"@id":"seq:seq:Enable#and3#u1"},{"@id":"seq:seq:Enable#delRetDam#u"},{"@id":"seq:seq:Enable#retDamSwitch#u2"}]},{"@id":"seq:seq:Enable#or2#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#truFalHol#u"}},{"@id":"seq:seq:Enable#outDamSwitch#u2","S231P:isConnectedTo":{"@id":"seq:seq:Enable#and3#y"}},{"@id":"seq:seq:Enable#outDamSwitch#y","S231P:isConnectedTo":{"@id":"seq:Enable#yOutDam_max"}},{"@id":"seq:seq:Enable#retDamSwitch#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#minRetDamSwitch#u3"}},{"@id":"seq:seq:Enable#sub1#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#hysOutTem#u"}},{"@id":"seq:seq:Enable#sub2#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#hysOutEnt#u"}},{"@id":"seq:seq:Enable#truFalHol#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#and1#u1"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MisplacedInfoWithComponent.jsonld b/test/reference/cxf/test/FromModelica/MisplacedInfoWithComponent.jsonld new file mode 100644 index 00000000..8b6b17da --- /dev/null +++ b/test/reference/cxf/test/FromModelica/MisplacedInfoWithComponent.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MisplacedInfoWithComponent","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:MisplacedInfoWithComponent#bloPub"}},{"@id":"seq:MisplacedInfoWithComponent#bloPub","@type":"seq:Block1"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld b/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld new file mode 100644 index 00000000..d27a4145 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MisplacedInfoWithEquation","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:MisplacedInfoWithEquation#gain"},"S231P:hasInput":{"@id":"seq:MisplacedInfoWithEquation#u"},"S231P:hasOutput":[{"@id":"seq:MisplacedInfoWithEquation#y1"},{"@id":"seq:MisplacedInfoWithEquation#y2"}],"S231P:hasParameter":{"@id":"seq:MisplacedInfoWithEquation#k"}},{"@id":"seq:MisplacedInfoWithEquation#gain","@type":"https://data.ashrae.org/S231P#CXF.Reals.MultiplyByParameter"},{"@id":"seq:MisplacedInfoWithEquation#k","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:MisplacedInfoWithEquation#u","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:MisplacedInfoWithEquation#gain#u"}},{"@id":"seq:MisplacedInfoWithEquation#y1","@type":"S231P:RealOutput"},{"@id":"seq:MisplacedInfoWithEquation#y2","@type":"S231P:RealOutput"},{"@id":"seq:seq:MisplacedInfoWithEquation#gain#y","S231P:isConnectedTo":{"@id":"seq:MisplacedInfoWithEquation#y1"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld b/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld new file mode 100644 index 00000000..7453733e --- /dev/null +++ b/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MisplacedInfoWithParameter","@type":"S231P:Block","S231P:hasParameter":{"@id":"seq:MisplacedInfoWithParameter#kP"}},{"@id":"seq:MisplacedInfoWithParameter#kP","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MyController.jsonld b/test/reference/cxf/test/FromModelica/MyController.jsonld new file mode 100644 index 00000000..76570e8b --- /dev/null +++ b/test/reference/cxf/test/FromModelica/MyController.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MyController","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:MyController#add2"},{"@id":"seq:MyController#subCon1"},{"@id":"seq:MyController#subCon2"}],"S231P:hasInput":[{"@id":"seq:MyController#u1"},{"@id":"seq:MyController#u2"}],"S231P:hasOutput":{"@id":"seq:MyController#y"}},{"@id":"seq:MyController#add2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Add"},{"@id":"seq:MyController#subCon1","@type":"seq:SubController"},{"@id":"seq:MyController#subCon2","@type":"seq:SubController"},{"@id":"seq:MyController#u1","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:MyController#add2#u1"}},{"@id":"seq:MyController#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:seq:MyController#add2#u2"},{"@id":"seq:seq:MyController#subCon1#u"},{"@id":"seq:seq:MyController#subCon2#u"}]},{"@id":"seq:MyController#y","@type":"S231P:RealOutput"},{"@id":"seq:seq:MyController#add2#y","S231P:isConnectedTo":{"@id":"seq:MyController#y"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld b/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld new file mode 100644 index 00000000..ff26fb0e --- /dev/null +++ b/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MyControllerWithSemantics","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:MyControllerWithSemantics#add2"},{"@id":"seq:MyControllerWithSemantics#heaCoi"},{"@id":"seq:MyControllerWithSemantics#subCon2"}],"S231P:hasInput":[{"@id":"seq:MyControllerWithSemantics#u1"},{"@id":"seq:MyControllerWithSemantics#u2"}],"S231P:hasOutput":{"@id":"seq:MyControllerWithSemantics#y"}},{"@id":"seq:MyControllerWithSemantics#add2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Add"},{"@id":"seq:MyControllerWithSemantics#heaCoi","@type":"seq:SubController"},{"@id":"seq:MyControllerWithSemantics#subCon2","@type":"seq:SubControllerWithSemantics"},{"@id":"seq:MyControllerWithSemantics#u1","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:MyControllerWithSemantics#add2#u1"}},{"@id":"seq:MyControllerWithSemantics#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:seq:MyControllerWithSemantics#add2#u2"},{"@id":"seq:seq:MyControllerWithSemantics#heaCoi#u"},{"@id":"seq:seq:MyControllerWithSemantics#subCon2#u"}]},{"@id":"seq:MyControllerWithSemantics#y","@type":"S231P:RealOutput"},{"@id":"seq:seq:MyControllerWithSemantics#add2#y","S231P:isConnectedTo":{"@id":"seq:MyControllerWithSemantics#y"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/NoClassComment.jsonld b/test/reference/cxf/test/FromModelica/NoClassComment.jsonld new file mode 100644 index 00000000..f4964e5c --- /dev/null +++ b/test/reference/cxf/test/FromModelica/NoClassComment.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:NoClassComment","@type":"S231P:Block","S231P:hasParameter":{"@id":"seq:NoClassComment#kP"}},{"@id":"seq:NoClassComment#kP","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/NoWithin.jsonld b/test/reference/cxf/test/FromModelica/NoWithin.jsonld new file mode 100644 index 00000000..35e7888f --- /dev/null +++ b/test/reference/cxf/test/FromModelica/NoWithin.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:FromModelica","S231P:hasConstant":{"@id":"seq:FromModelica#one"}},{"@id":"seq:FromModelica#one","S231P:isOfDataType":{"@id":"S231P:Integer"}},{"@id":"seq:NoWithin","@type":"S231P:Block"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/Parameter1.jsonld b/test/reference/cxf/test/FromModelica/Parameter1.jsonld new file mode 100644 index 00000000..d928dfa8 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/Parameter1.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:Parameter1","@type":"S231P:Block","S231P:hasParameter":{"@id":"seq:Parameter1#kP"}},{"@id":"seq:Parameter1#kP","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld b/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld new file mode 100644 index 00000000..8258f2f7 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:Parameter1WithVendorAnnotation","@type":"S231P:Block","S231P:hasParameter":{"@id":"seq:Parameter1WithVendorAnnotation#kP"}},{"@id":"seq:Parameter1WithVendorAnnotation#kP","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/Parameter2.jsonld b/test/reference/cxf/test/FromModelica/Parameter2.jsonld new file mode 100644 index 00000000..3d2bc353 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/Parameter2.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:Parameter2","@type":"S231P:Block","S231P:hasParameter":[{"@id":"seq:Parameter2#myPar1"},{"@id":"seq:Parameter2#myParInGroup"},{"@id":"seq:Parameter2#myParInTab"},{"@id":"seq:Parameter2#myParInTabInGroup1"},{"@id":"seq:Parameter2#myParInTabInGroup2"},{"@id":"seq:Parameter2#myParMax"},{"@id":"seq:Parameter2#myParMin"},{"@id":"seq:Parameter2#myParNoValue"},{"@id":"seq:Parameter2#myParUnit"}]},{"@id":"seq:Parameter2#myPar1","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Parameter2#myParInGroup","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Parameter2#myParInTab","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Parameter2#myParInTabInGroup1","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Parameter2#myParInTabInGroup2","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Parameter2#myParMax","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Parameter2#myParMin","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Parameter2#myParNoValue","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Parameter2#myParUnit","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/Parameter3.jsonld b/test/reference/cxf/test/FromModelica/Parameter3.jsonld new file mode 100644 index 00000000..3ed68f14 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/Parameter3.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:Parameter3","@type":"S231P:Block","S231P:hasParameter":[{"@id":"seq:Parameter3#myPar1"},{"@id":"seq:Parameter3#myParUnit"}]},{"@id":"seq:Parameter3#myPar1","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld new file mode 100644 index 00000000..b821449e --- /dev/null +++ b/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:ParameterWithAttributes","@type":"S231P:Block","S231P:hasParameter":{"@id":"seq:ParameterWithAttributes#kP"}},{"@id":"seq:ParameterWithAttributes#kP","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld new file mode 100644 index 00000000..63b7674e --- /dev/null +++ b/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:ParameterWithDefaultName","@type":"S231P:Block","S231P:hasParameter":{"@id":"seq:ParameterWithDefaultName#kP"}},{"@id":"seq:ParameterWithDefaultName#kP","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld new file mode 100644 index 00000000..0805755a --- /dev/null +++ b/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:ParameterWithInfo","@type":"S231P:Block","S231P:hasParameter":{"@id":"seq:ParameterWithInfo#kP"}},{"@id":"seq:ParameterWithInfo#kP","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld new file mode 100644 index 00000000..faf38023 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:ParameterWithVendorAnnotationInInfo","@type":"S231P:Block","S231P:hasParameter":{"@id":"seq:ParameterWithVendorAnnotationInInfo#kP"}},{"@id":"seq:ParameterWithVendorAnnotationInInfo#kP","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/PointList.jsonld b/test/reference/cxf/test/FromModelica/PointList.jsonld new file mode 100644 index 00000000..08732dd1 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/PointList.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:PointList","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:PointList#con1"},{"@id":"seq:PointList#con2"}],"S231P:hasInput":[{"@id":"seq:PointList#u1"},{"@id":"seq:PointList#u2"}],"S231P:hasOutput":[{"@id":"seq:PointList#y1"},{"@id":"seq:PointList#y2"}]},{"@id":"seq:PointList#con1","@type":"seq:MyController"},{"@id":"seq:PointList#con2","@type":"seq:MyController"},{"@id":"seq:PointList#u1","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:seq:PointList#con1#u1"},{"@id":"seq:seq:PointList#con2#u1"}]},{"@id":"seq:PointList#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:seq:PointList#con1#u2"},{"@id":"seq:seq:PointList#con2#u2"}]},{"@id":"seq:PointList#y1","@type":"S231P:RealOutput"},{"@id":"seq:PointList#y2","@type":"S231P:RealOutput"},{"@id":"seq:seq:PointList#con1#y","S231P:isConnectedTo":{"@id":"seq:PointList#y2"}},{"@id":"seq:seq:PointList#con2#y","S231P:isConnectedTo":{"@id":"seq:PointList#y1"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld b/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld new file mode 100644 index 00000000..c3fc8cf6 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:RemovableInputs","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:RemovableInputs#abs"},"S231P:hasInput":[{"@id":"seq:RemovableInputs#nOcc"},{"@id":"seq:RemovableInputs#TOut"},{"@id":"seq:RemovableInputs#TOutWitDef"},{"@id":"seq:RemovableInputs#u"},{"@id":"seq:RemovableInputs#uWin"}],"S231P:hasOutput":{"@id":"seq:RemovableInputs#y"},"S231P:hasParameter":[{"@id":"seq:RemovableInputs#enaBlo"},{"@id":"seq:RemovableInputs#have_occSen"},{"@id":"seq:RemovableInputs#have_winSen"}]},{"@id":"seq:RemovableInputs#abs","@type":"https://data.ashrae.org/S231P#CXF.Reals.Abs"},{"@id":"seq:RemovableInputs#enaBlo","S231P:isOfDataType":{"@id":"S231P:Boolean"}},{"@id":"seq:RemovableInputs#have_occSen","S231P:isOfDataType":{"@id":"S231P:Boolean"}},{"@id":"seq:RemovableInputs#have_winSen","S231P:isOfDataType":{"@id":"S231P:Boolean"}},{"@id":"seq:RemovableInputs#nOcc","@type":"S231P:IntegerInput"},{"@id":"seq:RemovableInputs#TOut","@type":"S231P:RealInput"},{"@id":"seq:RemovableInputs#TOutWitDef","@type":"S231P:RealInput"},{"@id":"seq:RemovableInputs#u","@type":"S231P:RealInput"},{"@id":"seq:RemovableInputs#uWin","@type":"S231P:BooleanInput"},{"@id":"seq:RemovableInputs#y","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/SubController.jsonld b/test/reference/cxf/test/FromModelica/SubController.jsonld new file mode 100644 index 00000000..9392a238 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/SubController.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:SubController","@type":"S231P:Block","S231P:hasInput":{"@id":"seq:SubController#u"},"S231P:hasOutput":{"@id":"seq:SubController#y"}},{"@id":"seq:SubController#u","@type":"S231P:RealInput"},{"@id":"seq:SubController#y","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/SubControllerWithSemantics.jsonld b/test/reference/cxf/test/FromModelica/SubControllerWithSemantics.jsonld new file mode 100644 index 00000000..4b9c8641 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/SubControllerWithSemantics.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:SubControllerWithSemantics","@type":"S231P:Block","S231P:hasInput":{"@id":"seq:SubControllerWithSemantics#u"},"S231P:hasOutput":{"@id":"seq:SubControllerWithSemantics#y"}},{"@id":"seq:SubControllerWithSemantics#u","@type":"S231P:RealInput"},{"@id":"seq:SubControllerWithSemantics#y","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld new file mode 100644 index 00000000..2e51504b --- /dev/null +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:TestEvaluation_1","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:TestEvaluation_1#con"},"S231P:hasParameter":{"@id":"seq:TestEvaluation_1#k1"}},{"@id":"seq:TestEvaluation_1#con","@type":"seq:Buildings.Controls.OBC.CDL.Reals.Sources.Constant"},{"@id":"seq:TestEvaluation_1#k1","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld new file mode 100644 index 00000000..979e36b6 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:seq:TestEvaluation_2#hys#u","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_2#u"}},{"@id":"seq:seq:TestEvaluation_2#hys#y","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_2#y"}},{"@id":"seq:TestEvaluation_2","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:TestEvaluation_2#hys"},"S231P:hasInput":{"@id":"seq:TestEvaluation_2#u"},"S231P:hasOutput":{"@id":"seq:TestEvaluation_2#y"},"S231P:hasParameter":[{"@id":"seq:TestEvaluation_2#uHigh"},{"@id":"seq:TestEvaluation_2#uLow"}]},{"@id":"seq:TestEvaluation_2#hys","@type":"https://data.ashrae.org/S231P#CXF.Reals.Hysteresis"},{"@id":"seq:TestEvaluation_2#u","@type":"S231P:RealInput"},{"@id":"seq:TestEvaluation_2#uHigh","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_2#uLow","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_2#y","@type":"S231P:BooleanOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_3.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_3.jsonld new file mode 100644 index 00000000..38bca78c --- /dev/null +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_3.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:TestEvaluation_3","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:TestEvaluation_3#con"},{"@id":"seq:TestEvaluation_3#con1"}],"S231P:hasParameter":[{"@id":"seq:TestEvaluation_3#k1"},{"@id":"seq:TestEvaluation_3#k2"}]},{"@id":"seq:TestEvaluation_3#con","@type":"seq:Buildings.Controls.OBC.CDL.Logical.Sources.Constant"},{"@id":"seq:TestEvaluation_3#con1","@type":"seq:Buildings.Controls.OBC.CDL.Logical.Sources.Constant"},{"@id":"seq:TestEvaluation_3#k1","S231P:isOfDataType":{"@id":"S231P:Boolean"}},{"@id":"seq:TestEvaluation_3#k2","S231P:isOfDataType":{"@id":"S231P:Boolean"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld new file mode 100644 index 00000000..b2b4a947 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:seq:TestEvaluation_4#cooCoi#TAirSup","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#TAirSup"}},{"@id":"seq:seq:TestEvaluation_4#cooCoi#TSupCooSet","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#TSupCooSet"}},{"@id":"seq:seq:TestEvaluation_4#cooCoi#u1SupFan","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#u1SupFan"}},{"@id":"seq:seq:TestEvaluation_4#cooCoi#uZonSta","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#uZonSta"}},{"@id":"seq:seq:TestEvaluation_4#cooCoi#yCooCoi","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#yCooCoi"}},{"@id":"seq:TestEvaluation_4","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:TestEvaluation_4#cooCoi"},"S231P:hasInput":[{"@id":"seq:TestEvaluation_4#TAirSup"},{"@id":"seq:TestEvaluation_4#TSupCooSet"},{"@id":"seq:TestEvaluation_4#u1SupFan"},{"@id":"seq:TestEvaluation_4#uZonSta"}],"S231P:hasOutput":{"@id":"seq:TestEvaluation_4#yCooCoi"},"S231P:hasParameter":[{"@id":"seq:TestEvaluation_4#controllerTypeCooCoi"},{"@id":"seq:TestEvaluation_4#kCooCoi"},{"@id":"seq:TestEvaluation_4#TiCooCoi"}]},{"@id":"seq:TestEvaluation_4#cooCoi","@type":"seq:Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.CoolingCoil"},{"@id":"seq:TestEvaluation_4#kCooCoi","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_4#TAirSup","@type":"S231P:RealInput"},{"@id":"seq:TestEvaluation_4#TiCooCoi","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_4#TSupCooSet","@type":"S231P:RealInput"},{"@id":"seq:TestEvaluation_4#u1SupFan","@type":"S231P:BooleanInput"},{"@id":"seq:TestEvaluation_4#uZonSta","@type":"S231P:IntegerInput"},{"@id":"seq:TestEvaluation_4#yCooCoi","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/VariableModification.jsonld b/test/reference/cxf/test/FromModelica/VariableModification.jsonld new file mode 100644 index 00000000..568785c6 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/VariableModification.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:VariableModification","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:VariableModification#abs"},"S231P:hasInput":[{"@id":"seq:VariableModification#TOut"},{"@id":"seq:VariableModification#u"}]},{"@id":"seq:VariableModification#abs","@type":"https://data.ashrae.org/S231P#CXF.Reals.Abs"},{"@id":"seq:VariableModification#TOut","@type":"S231P:RealInput"},{"@id":"seq:VariableModification#u","@type":"S231P:RealInput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/WithCDLElementary.jsonld b/test/reference/cxf/test/FromModelica/WithCDLElementary.jsonld new file mode 100644 index 00000000..8efb8db5 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/WithCDLElementary.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:WithCDLElementary","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:WithCDLElementary#gre"},"S231P:hasInput":{"@id":"seq:WithCDLElementary#u"},"S231P:hasOutput":{"@id":"seq:WithCDLElementary#y"}},{"@id":"seq:WithCDLElementary#gre","@type":"https://data.ashrae.org/S231P#CXF.Reals.Greater"},{"@id":"seq:WithCDLElementary#u","@type":"S231P:RealInput"},{"@id":"seq:WithCDLElementary#y","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/package.jsonld b/test/reference/cxf/test/FromModelica/package.jsonld new file mode 100644 index 00000000..d361b256 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/package.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:FromModelica","S231P:hasConstant":{"@id":"seq:FromModelica#one"}},{"@id":"seq:FromModelica#one","S231P:isOfDataType":{"@id":"S231P:Integer"}},{"@id":"seq:package","@type":"S231P:Block"}]} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.json b/test/reference/json/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.json deleted file mode 100644 index edfa3a8b..00000000 --- a/test/reference/json/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.json +++ /dev/null @@ -1,1869 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "CoolingCoil", - "description_string": "Controller for cooling coil valve", - "composition": { - "element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Buildings.Controls.OBC.CDL.Types.SimpleController", - "component_list": [ - { - "declaration": { - "identifier": "controllerTypeCooCoi", - "modification": { - "equal": true, - "expression": { - "simple_expression": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" - } - } - }, - "description": { - "description_string": "Type of controller", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "ValueInReference", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Cooling coil loop signal\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "kCooCoi", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"1/K\"" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0.1" - } - } - }, - "description": { - "description_string": "Gain for cooling coil control loop signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "ValueInReference", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Cooling coil loop signal\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "TiCooCoi", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "900" - } - } - }, - "description": { - "description_string": "Time constant of integrator block for cooling coil control loop signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "ValueInReference", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Cooling coil loop signal\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerTypeCooCoi" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerTypeCooCoi" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "TdCooCoi", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0.1" - } - } - }, - "description": { - "description_string": "Time constant of derivative block for cooling coil control loop signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "ValueInReference", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Cooling coil loop signal\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerTypeCooCoi" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerTypeCooCoi" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "TSupCooSet", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"K\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "displayUnit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"degC\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"ThermodynamicTemperature\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Cooling supply air temperature setpoint", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 60 - }, - { - "x": -100, - "y": 100 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "TAirSup", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"K\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "displayUnit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"degC\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"ThermodynamicTemperature\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Supply air temperature measurement", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 20 - }, - { - "x": -100, - "y": 60 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.IntegerInput", - "component_list": [ - { - "declaration": { - "identifier": "uZonSta" - }, - "description": { - "description_string": "Zone state", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -40 - }, - { - "x": -100, - "y": 0 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": -140, - "y": -60 - }, - { - "x": -100, - "y": -20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", - "component_list": [ - { - "declaration": { - "identifier": "u1SupFan" - }, - "description": { - "description_string": "Supply fan proven on", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", - "component_list": [ - { - "declaration": { - "identifier": "yCooCoi" - }, - "description": { - "description_string": "Cooling coil valve commanded position", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.PIDWithReset", - "component_list": [ - { - "declaration": { - "identifier": "conCoi", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "controllerType", - "modification": { - "equal": true, - "expression": { - "simple_expression": "controllerTypeCooCoi" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "kCooCoi" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "Ti", - "modification": { - "equal": true, - "expression": { - "simple_expression": "TiCooCoi" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "Td", - "modification": { - "equal": true, - "expression": { - "simple_expression": "TdCooCoi" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "reverseActing", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Cooling coil control signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -10, - "y": 70 - }, - { - "x": 10, - "y": 90 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "protected_element_list": [ - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Integers.Equal", - "component_list": [ - { - "declaration": { - "identifier": "intEqu" - }, - "description": { - "description_string": "Logical block to check if zone is in cooling state", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -40, - "y": -10 - }, - { - "x": -20, - "y": 10 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Integers.Sources.Constant", - "component_list": [ - { - "declaration": { - "identifier": "conInt", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "Buildings.Controls.OBC.ASHRAE.G36.Types.ZoneStates.cooling" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Cooling state value", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -80, - "y": -10 - }, - { - "x": -60, - "y": 10 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Switch", - "component_list": [ - { - "declaration": { - "identifier": "switch" - }, - "description": { - "description_string": "Switch to assign cooling coil control signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 72, - "y": -10 - }, - { - "x": 92, - "y": 10 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", - "component_list": [ - { - "declaration": { - "identifier": "const", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Cooling off mode", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 20, - "y": -50 - }, - { - "x": 40, - "y": -30 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Logical.And", - "component_list": [ - { - "declaration": { - "identifier": "and2" - }, - "description": { - "description_string": "Conditions for cooling state", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 0, - "y": -10 - }, - { - "x": 20, - "y": 10 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ] - }, - { - "equation_section": { - "equation": [ - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "const" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "switch" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u3" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 42, - "y": -40 - }, - { - "x": 60, - "y": -40 - }, - { - "x": 60, - "y": -8 - }, - { - "x": 70, - "y": -8 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "conCoi" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "trigger" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "u1SupFan" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -6, - "y": 68 - }, - { - "x": -6, - "y": -80 - }, - { - "x": -120, - "y": -80 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "conCoi" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u_s" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "TSupCooSet" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -12, - "y": 80 - }, - { - "x": -120, - "y": 80 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "conCoi" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u_m" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "TAirSup" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 0, - "y": 68 - }, - { - "x": 0, - "y": 40 - }, - { - "x": -120, - "y": 40 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "switch" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "yCooCoi" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 94, - "y": 0 - }, - { - "x": 120, - "y": 0 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "intEqu" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "and2" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -18, - "y": 0 - }, - { - "x": -2, - "y": 0 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "and2" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "u1SupFan" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -2, - "y": -8 - }, - { - "x": -6, - "y": -8 - }, - { - "x": -6, - "y": -80 - }, - { - "x": -120, - "y": -80 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "and2" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "switch" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 22, - "y": 0 - }, - { - "x": 70, - "y": 0 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "conInt" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "intEqu" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -58, - "y": 0 - }, - { - "x": -42, - "y": 0 - } - ], - "color": { - "r": 255, - "g": 127, - "b": 0 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "uZonSta" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "intEqu" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -120, - "y": -20 - }, - { - "x": -50, - "y": -20 - }, - { - "x": -50, - "y": -8 - }, - { - "x": -42, - "y": -8 - } - ], - "color": { - "r": 255, - "g": 127, - "b": 0 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "conCoi" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "switch" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 12, - "y": 80 - }, - { - "x": 60, - "y": 80 - }, - { - "x": 60, - "y": 8 - }, - { - "x": 70, - "y": 8 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"cooCoi\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "preserveAspectRatio": "false" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "preserveAspectRatio": "false" - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nThis block outputs the cooling coil control signal if the fan is on and the zone is\nin cooling status (see\n\nBuildings.Controls.OBC.ASHRAE.G36.Types.ZoneStates).\nOtherwise, the control signal for the coil is set to 0.\nThe implementation is according to the Section 5.18.5.3 of ASHRAE Guideline 36, May 2020.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nAugust 1, 2020, by Jianjun Hu:
    \nFirst implementation based on G36 official version.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo", - "checksum": "5a6b45141ecae64279c8ff6592df112c" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Constants.json b/test/reference/json/Buildings/Controls/OBC/CDL/Constants.json deleted file mode 100644 index 13142a8f..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Constants.json +++ /dev/null @@ -1,403 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL", - "class_definition": [ - { - "class_prefixes": "package", - "class_specifier": { - "long_class_specifier": { - "identifier": "Constants", - "description_string": "Package with constants", - "composition": { - "element_list": [ - { - "final": true, - "component_clause": { - "type_prefix": "constant", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "eps", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1e-15" - } - } - }, - "description": { - "description_string": "Biggest number such that 1.0 + eps = 1.0" - } - } - ] - } - }, - { - "final": true, - "component_clause": { - "type_prefix": "constant", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "small", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1e-60" - } - } - }, - "description": { - "description_string": "Smallest number such that small and -small are representable on the machine" - } - } - ] - } - }, - { - "final": true, - "component_clause": { - "type_prefix": "constant", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "pi", - "modification": { - "equal": true, - "expression": { - "simple_expression": "2*Modelica.Math.asin(1)" - } - } - }, - "description": { - "description_string": "Constant number pi, 3.14159265358979" - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nThis package provides often needed constants.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMarch 27, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "radius": 25, - "lineColor": { - "r": 200, - "g": 200, - "b": 200 - }, - "fillColor": { - "r": 248, - "g": 248, - "b": 248 - }, - "fillPattern": "FillPattern.HorizontalCylinder" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 48.017, - "y": 11.336 - }, - { - "x": 48.017, - "y": 11.336 - }, - { - "x": 10.766, - "y": 11.336 - }, - { - "x": -25.684, - "y": 10.95 - }, - { - "x": -34.944, - "y": -15.111 - }, - { - "x": -34.944, - "y": -15.111 - }, - { - "x": -32.298, - "y": -15.244 - }, - { - "x": -32.298, - "y": -15.244 - }, - { - "x": -22.112, - "y": 0.168 - }, - { - "x": 11.292, - "y": 0.234 - }, - { - "x": 48.267, - "y": -0.097 - }, - { - "x": 48.267, - "y": -0.097 - } - ], - "smooth": "Smooth.Bezier", - "origin": { - "x": -9.2597, - "y": 25.6673 - }, - "fillColor": { - "r": 102, - "g": 102, - "b": 102 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 3.239, - "y": 37.343 - }, - { - "x": 3.305, - "y": 37.343 - }, - { - "x": -0.399, - "y": 2.683 - }, - { - "x": -16.936, - "y": -20.071 - }, - { - "x": -7.808, - "y": -28.604 - }, - { - "x": 6.811, - "y": -22.519 - }, - { - "x": 9.986, - "y": 37.145 - }, - { - "x": 9.986, - "y": 37.145 - } - ], - "smooth": "Smooth.Bezier", - "origin": { - "x": -19.9923, - "y": -8.3993 - }, - "fillColor": { - "r": 102, - "g": 102, - "b": 102 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -10.873, - "y": 41.478 - }, - { - "x": -10.873, - "y": 41.478 - }, - { - "x": -14.048, - "y": -4.162 - }, - { - "x": -9.352, - "y": -24.8 - }, - { - "x": 7.912, - "y": -24.469 - }, - { - "x": 16.247, - "y": 0.27 - }, - { - "x": 16.247, - "y": 0.27 - }, - { - "x": 13.336, - "y": 0.071 - }, - { - "x": 13.336, - "y": 0.071 - }, - { - "x": 7.515, - "y": -9.983 - }, - { - "x": -3.134, - "y": -7.271 - }, - { - "x": -2.671, - "y": 41.214 - }, - { - "x": -2.671, - "y": 41.214 - } - ], - "smooth": "Smooth.Bezier", - "origin": { - "x": 23.753, - "y": -11.5422 - }, - "fillColor": { - "r": 102, - "g": 102, - "b": 102 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "radius": 25, - "lineColor": { - "r": 128, - "g": 128, - "b": 128 - } - } - } - ] - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Constants.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Constants.mo", - "checksum": "d18e385511e96322440f6f561441b22c" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Equal.json b/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Equal.json deleted file mode 100644 index c3774065..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Equal.json +++ /dev/null @@ -1,398 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Integers", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "Equal", - "description_string": "Output y is true, if input u1 is equal to input u2", - "composition": { - "element_list": [ - { - "component_clause": { - "type_specifier": "Interfaces.IntegerInput", - "component_list": [ - { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Connector of first Integer input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.IntegerInput", - "component_list": [ - { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Connector of second Integer input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "u1" - }, - { - "name": "u2" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"intEqu\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "false" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 73, - "y": 7 - }, - { - "x": 87, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 32, - "y": 10 - }, - { - "x": 52, - "y": -10 - } - ], - "lineColor": { - "r": 255, - "g": 127, - "b": 0 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -100, - "y": -80 - }, - { - "x": 42, - "y": -80 - }, - { - "x": 42, - "y": 0 - } - ], - "color": { - "r": 255, - "g": 127, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -76, - "y": -36 - }, - { - "x": 20, - "y": 54 - } - ], - "textString": ",textString=", - "textColor": { - "r": 255, - "g": 127, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs true if the Integer input u1\nis equal to the Integer input u2.\nOtherwise the output is false.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nAugust 30, 2017, by Jianjun Hu:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Integers/Equal.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Integers/Equal.mo", - "checksum": "6ed015e965db594da3ea7128c250435e" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json b/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json deleted file mode 100644 index 00076acc..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json +++ /dev/null @@ -1,358 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Integers.Sources", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "Constant", - "description_string": "Output constant signal of type Integer", - "composition": { - "element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Integer", - "component_list": [ - { - "declaration": { - "identifier": "k" - }, - "description": { - "description_string": "Constant output value" - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.IntegerOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Integer output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": "k" - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"conInt\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 255, - "g": 127, - "b": 0 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 68 - }, - { - "x": -80, - "y": -80 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -80, - "y": 90 - }, - { - "x": -88, - "y": 68 - }, - { - "x": -72, - "y": 68 - }, - { - "x": -80, - "y": 90 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -90, - "y": -70 - }, - { - "x": 82, - "y": -70 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 90, - "y": -70 - }, - { - "x": 68, - "y": -62 - }, - { - "x": 68, - "y": -78 - }, - { - "x": 90, - "y": -70 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 0 - }, - { - "x": 80, - "y": 0 - } - ] - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": -150 - }, - { - "x": 150, - "y": -110 - } - ], - "textString": ",textString=", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs a constant signal y = k,\nwhere k is an Integer-valued parameter.\n

\n\n

\n\\\"IntegerConstant.png\\\"\n

\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Integers/Sources/Constant.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.mo", - "checksum": "b6ddb71adcf641c588fbbbac670d26fb" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/BooleanInput.json b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/BooleanInput.json deleted file mode 100644 index e6aea6a2..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/BooleanInput.json +++ /dev/null @@ -1,238 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Interfaces", - "class_definition": [ - { - "class_prefixes": "connector", - "class_specifier": { - "short_class_specifier": { - "identifier": "BooleanInput", - "value": { - "base_prefix": "input", - "name": "Boolean", - "description": { - "description_string": "Boolean input connector", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"u\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 50 - }, - { - "x": 100, - "y": 0 - }, - { - "x": 0, - "y": -50 - } - ], - "lineColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 50 - }, - { - "x": 100, - "y": 0 - }, - { - "x": 0, - "y": -50 - }, - { - "x": 0, - "y": 50 - } - ], - "lineColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -10, - "y": 85 - }, - { - "x": -10, - "y": 60 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nConnector with one input signal of type Boolean.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMarch 1, 2019, by Michael Wetter:
    \nOn the icon layer, changed connector size and added the connector name.
    \nThis is for\nissue 1375.\n
  • \n
  • \nJanuary 6, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Interfaces/BooleanInput.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/BooleanInput.mo", - "checksum": "60968b727525188ed9398920679cf1c0" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/BooleanOutput.json b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/BooleanOutput.json deleted file mode 100644 index ec85ab96..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/BooleanOutput.json +++ /dev/null @@ -1,238 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Interfaces", - "class_definition": [ - { - "class_prefixes": "connector", - "class_specifier": { - "short_class_specifier": { - "identifier": "BooleanOutput", - "value": { - "base_prefix": "output", - "name": "Boolean", - "description": { - "description_string": "Boolean output connector", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"y\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -100, - "y": 50 - }, - { - "x": 0, - "y": 0 - }, - { - "x": -100, - "y": -50 - } - ], - "lineColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -100, - "y": 50 - }, - { - "x": 0, - "y": 0 - }, - { - "x": -100, - "y": -50 - }, - { - "x": -100, - "y": 50 - } - ], - "lineColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 30, - "y": 110 - }, - { - "x": 30, - "y": 60 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nConnector with one output signal of type Boolean.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJuly 19, 2019, by Jianjun Hu:
    \nOn both icon and diagram layer, added the initialScale.
    \nThis is for\nissue 1375.\n
  • \n
  • \nMarch 1, 2019, by Michael Wetter:
    \nOn the icon layer, changed connector size and added the connector name.
    \nThis is for\nissue 1375.\n
  • \n
  • \nJanuary 6, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Interfaces/BooleanOutput.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/BooleanOutput.mo", - "checksum": "c78a9b5c56f73ed93e3f9540de58da55" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/IntegerInput.json b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/IntegerInput.json deleted file mode 100644 index e11983e7..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/IntegerInput.json +++ /dev/null @@ -1,238 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Interfaces", - "class_definition": [ - { - "class_prefixes": "connector", - "class_specifier": { - "short_class_specifier": { - "identifier": "IntegerInput", - "value": { - "base_prefix": "input", - "name": "Integer", - "description": { - "description_string": "Integer input connector", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"u\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 50 - }, - { - "x": 100, - "y": 0 - }, - { - "x": 0, - "y": -50 - } - ], - "lineColor": { - "r": 255, - "g": 127, - "b": 0 - }, - "fillColor": { - "r": 255, - "g": 127, - "b": 0 - }, - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 50 - }, - { - "x": 100, - "y": 0 - }, - { - "x": 0, - "y": -50 - }, - { - "x": 0, - "y": 50 - } - ], - "lineColor": { - "r": 255, - "g": 127, - "b": 0 - }, - "fillColor": { - "r": 255, - "g": 127, - "b": 0 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -10, - "y": 85 - }, - { - "x": -10, - "y": 60 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 255, - "g": 127, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nConnector with one input signal of type Integer.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMarch 1, 2019, by Michael Wetter:
    \nOn the icon layer, changed connector size and added the connector name.
    \nThis is for\nissue 1375.\n
  • \n
  • \nJanuary 6, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Interfaces/IntegerInput.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/IntegerInput.mo", - "checksum": "90e89432f618ecfdadb8b0a8f0519eef" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/IntegerOutput.json b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/IntegerOutput.json deleted file mode 100644 index ecb5cabf..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/IntegerOutput.json +++ /dev/null @@ -1,238 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Interfaces", - "class_definition": [ - { - "class_prefixes": "connector", - "class_specifier": { - "short_class_specifier": { - "identifier": "IntegerOutput", - "value": { - "base_prefix": "output", - "name": "Integer", - "description": { - "description_string": "Integer output connector", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"y\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -100, - "y": 50 - }, - { - "x": 0, - "y": 0 - }, - { - "x": -100, - "y": -50 - } - ], - "lineColor": { - "r": 255, - "g": 127, - "b": 0 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -100, - "y": 50 - }, - { - "x": 0, - "y": 0 - }, - { - "x": -100, - "y": -50 - }, - { - "x": -100, - "y": 50 - } - ], - "lineColor": { - "r": 255, - "g": 127, - "b": 0 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 30, - "y": 110 - }, - { - "x": 30, - "y": 60 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 255, - "g": 127, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nConnector with one output signal of type Integer.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJuly 19, 2019, by Jianjun Hu:
    \nOn both icon and diagram layer, added the initialScale.
    \nThis is for\nissue 1375.\n
  • \n
  • \nMarch 1, 2019, by Michael Wetter:
    \nOn the icon layer, changed connector size and added the connector name.
    \nThis is for\nissue 1375.\n
  • \n
  • \nJanuary 6, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Interfaces/IntegerOutput.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/IntegerOutput.mo", - "checksum": "ede894db694a80d4be6d85192821bb84" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/RealInput.json b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/RealInput.json deleted file mode 100644 index ed7eec5a..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/RealInput.json +++ /dev/null @@ -1,238 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Interfaces", - "class_definition": [ - { - "class_prefixes": "connector", - "class_specifier": { - "short_class_specifier": { - "identifier": "RealInput", - "value": { - "base_prefix": "input", - "name": "Real", - "description": { - "description_string": "Real input connector", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"u\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 50 - }, - { - "x": 100, - "y": 0 - }, - { - "x": 0, - "y": -50 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 50 - }, - { - "x": 100, - "y": 0 - }, - { - "x": 0, - "y": -50 - }, - { - "x": 0, - "y": 50 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -10, - "y": 60 - }, - { - "x": -10, - "y": 85 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nConnector with one input signal of type Real.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMarch 1, 2019, by Michael Wetter:
    \nOn the icon layer, changed connector size and added the connector name.
    \nThis is for\nissue 1375.\n
  • \n
  • \nJanuary 6, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Interfaces/RealInput.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/RealInput.mo", - "checksum": "a30132f1d21aa2e2de2510da83ef73e5" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/RealOutput.json b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/RealOutput.json deleted file mode 100644 index 4956828b..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/RealOutput.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Interfaces", - "class_definition": [ - { - "class_prefixes": "connector", - "class_specifier": { - "short_class_specifier": { - "identifier": "RealOutput", - "value": { - "base_prefix": "output", - "name": "Real", - "description": { - "description_string": "Real output connector", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"y\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -100, - "y": 50 - }, - { - "x": 0, - "y": 0 - }, - { - "x": -100, - "y": -50 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -100, - "y": 50 - }, - { - "x": 0, - "y": 0 - }, - { - "x": -100, - "y": -50 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 30, - "y": 60 - }, - { - "x": 30, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nConnector with one output signal of type Real.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJuly 19, 2019, by Jianjun Hu:
    \nOn both icon and diagram layer, added the initialScale.
    \nThis is for\nissue 1375.\n
  • \n
  • \nMarch 1, 2019, by Michael Wetter:
    \nOn the icon layer, changed connector size and added the connector name.
    \nThis is for\nissue 1375.\n
  • \n
  • \nJanuary 6, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Interfaces/RealOutput.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/RealOutput.mo", - "checksum": "406cab1b75e3627433076597d6aebd71" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/package.json b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/package.json deleted file mode 100644 index 22425437..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/package.json +++ /dev/null @@ -1,225 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL", - "class_definition": [ - { - "class_prefixes": "package", - "class_specifier": { - "long_class_specifier": { - "identifier": "Interfaces", - "description_string": "Package with connectors for input and output signals", - "composition": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "preferredView", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"info\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nThis package contains implementations of connectors for input\nand output signals of blocks.\n

\n

\nThe connectors are compatible with, and equivalent to,\nthe connectors from the Modelica Standard Library.\nThey are here implemented to make the CDL\npackage a self-contained package.\n

\n\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "radius": 25, - "lineColor": { - "r": 200, - "g": 200, - "b": 200 - }, - "fillColor": { - "r": 248, - "g": 248, - "b": 248 - }, - "fillPattern": "FillPattern.HorizontalCylinder" - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "radius": 25, - "lineColor": { - "r": 128, - "g": 128, - "b": 128 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -10, - "y": 70 - }, - { - "x": 10, - "y": 70 - }, - { - "x": 40, - "y": 20 - }, - { - "x": 80, - "y": 20 - }, - { - "x": 80, - "y": -20 - }, - { - "x": 40, - "y": -20 - }, - { - "x": 10, - "y": -70 - }, - { - "x": -10, - "y": -70 - } - ], - "origin": { - "x": 20, - "y": 0 - }, - "lineColor": { - "r": 64, - "g": 64, - "b": 64 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -100, - "y": 20 - }, - { - "x": -60, - "y": 20 - }, - { - "x": -30, - "y": 70 - }, - { - "x": -10, - "y": 70 - }, - { - "x": -10, - "y": -70 - }, - { - "x": -30, - "y": -70 - }, - { - "x": -60, - "y": -20 - }, - { - "x": -100, - "y": -20 - } - ], - "fillColor": { - "r": 102, - "g": 102, - "b": 102 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Interfaces/package.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/package.mo", - "checksum": "14a2fca3933efe182b89261ed74bfe93" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/And.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/And.json deleted file mode 100644 index 426c371f..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/And.json +++ /dev/null @@ -1,381 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Logical", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "And", - "description_string": "Logical 'and': y = u1 and u2", - "composition": { - "element_list": [ - { - "component_clause": { - "type_specifier": "Interfaces.BooleanInput", - "component_list": [ - { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Connector of first Boolean input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanInput", - "component_list": [ - { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Connector of second Boolean input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": "u1 and u2" - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"and2\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -90, - "y": 40 - }, - { - "x": 90, - "y": -40 - } - ], - "textString": "\"and\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 71, - "y": 7 - }, - { - "x": 85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -75, - "y": -6 - }, - { - "x": -89, - "y": 8 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -75, - "y": -73 - }, - { - "x": -89, - "y": -87 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs true if all inputs are true.\nOtherwise the output is false.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/And.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/And.mo", - "checksum": "abb4a9c072fed007645ee9127a8371e1" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Not.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Not.json deleted file mode 100644 index f8483468..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Not.json +++ /dev/null @@ -1,297 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Logical", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "Not", - "description_string": "Logical not", - "composition": { - "element_list": [ - { - "component_clause": { - "type_specifier": "Interfaces.BooleanInput", - "component_list": [ - { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Connector of Boolean input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": "not u" - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"not1\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 215, - "g": 215, - "b": 215 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -56, - "y": 28 - }, - { - "x": 72, - "y": -24 - } - ], - "textString": "\"not\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 71, - "y": 7 - }, - { - "x": 85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs true if the input is false,\nand false if the input is true.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/Not.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Not.mo", - "checksum": "7dbcd7ef6c82dd1ea995367b1c5e1e6a" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Or.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Or.json deleted file mode 100644 index 9ae5c612..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Or.json +++ /dev/null @@ -1,381 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Logical", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "Or", - "description_string": "Logical 'or': y = u1 or u2", - "composition": { - "element_list": [ - { - "component_clause": { - "type_specifier": "Interfaces.BooleanInput", - "component_list": [ - { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Connector of first Boolean input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanInput", - "component_list": [ - { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Connector of second Boolean input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": "u1 or u2" - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"or2\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -90, - "y": 40 - }, - { - "x": 90, - "y": -40 - } - ], - "textString": "\"or\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 71, - "y": 7 - }, - { - "x": 85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -75, - "y": -6 - }, - { - "x": -89, - "y": 8 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -75, - "y": -73 - }, - { - "x": -89, - "y": -87 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs true if at least one input\nis true.\nOtherwise the output is false.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/Or.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Or.mo", - "checksum": "670ac5112525c56af6333d275885e875" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json deleted file mode 100644 index d25d7d4b..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json +++ /dev/null @@ -1,381 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Logical.Sources", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "Constant", - "description_string": "Output constant signal of type Boolean", - "composition": { - "element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "component_list": [ - { - "declaration": { - "identifier": "k" - }, - "description": { - "description_string": "Constant output value" - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": "k" - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"con\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 71, - "y": 7 - }, - { - "x": 85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -90, - "y": -70 - }, - { - "x": 72, - "y": -70 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 90, - "y": -70 - }, - { - "x": 68, - "y": -62 - }, - { - "x": 68, - "y": -78 - }, - { - "x": 90, - "y": -70 - } - ], - "lineColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -80, - "y": 88 - }, - { - "x": -88, - "y": 66 - }, - { - "x": -72, - "y": 66 - }, - { - "x": -80, - "y": 88 - } - ], - "lineColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 66 - }, - { - "x": -80, - "y": -82 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 0 - }, - { - "x": 64, - "y": 0 - } - ] - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": -140 - }, - { - "x": 150, - "y": -110 - } - ], - "textString": "\"%k\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs a constant signal y = k,\nwhere k is a Boolean-valued parameter.\n

\n\n

\n\\\"Constant.png\\\"\n

\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/Sources/Constant.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.mo", - "checksum": "821d92c8b1c3a28aee8ea6c2bf037c7f" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json deleted file mode 100644 index 13f897a2..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json +++ /dev/null @@ -1,735 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Logical", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "TrueDelay", - "description_string": "Delay a rising edge of the input, but do not delay a falling edge.", - "composition": { - "element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "delayTime", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Delay time" - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "component_list": [ - { - "declaration": { - "identifier": "delayOnInit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - }, - "description": { - "description_string": "Set to true to delay initial true input" - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanInput", - "component_list": [ - { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Connector of Boolean input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "protected_element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "t_past", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "fixed", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Time before simulation started" - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "t_next", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Next event time" - } - } - ] - } - } - ] - }, - { - "equation_section": { - "initial": true, - "equation": [ - { - "assignment_equation": { - "lhs": "t_past", - "rhs": { - "simple_expression": "time -1000" - } - } - }, - { - "assignment_equation": { - "lhs": { - "function_call": { - "name": "pre", - "arguments": [ - { - "name": "u" - } - ] - } - }, - "rhs": { - "simple_expression": "false" - } - } - }, - { - "assignment_equation": { - "lhs": { - "function_call": { - "name": "pre", - "arguments": [ - { - "name": "t_next" - } - ] - } - }, - "rhs": { - "simple_expression": "time -1000" - } - } - } - ] - } - }, - { - "equation_section": { - "equation": [ - { - "when_equation": [ - { - "condition": { - "simple_expression": "initial()" - }, - "then": [ - { - "assignment_equation": { - "lhs": "t_next", - "rhs": { - "if_expression": { - "if_elseif": [ - { - "condition": { - "simple_expression": "not delayOnInit" - }, - "then": { - "simple_expression": "t_past" - } - } - ], - "else_expression": { - "simple_expression": "time +delayTime" - } - } - } - } - } - ] - }, - { - "condition": { - "simple_expression": "u" - }, - "then": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "if_expression": { - "if_elseif": [ - { - "condition": { - "simple_expression": "not ([object Object])" - }, - "then": { - "simple_expression": "u" - } - } - ], - "else_expression": { - "simple_expression": "false" - } - } - } - } - } - ] - }, - { - "condition": { - "simple_expression": "not u" - }, - "then": [ - { - "assignment_equation": { - "lhs": "t_next", - "rhs": { - "simple_expression": "time +delayTime" - } - } - } - ] - }, - { - "condition": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "time" - }, - { - "name": "pre(t_next)" - } - ], - "relation_operator": ">=" - } - ] - } - ] - } - } - }, - "then": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "if_expression": { - "if_elseif": [ - { - "condition": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "delayTime" - }, - { - "name": "0" - } - ], - "relation_operator": ">" - } - ] - } - ] - } - } - }, - "then": { - "simple_expression": "false" - } - } - ], - "else_expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - ] - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"truDel\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -250, - "y": -120 - }, - { - "x": 250, - "y": -150 - } - ], - "textString": "\"%delayTime\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": -66 - }, - { - "x": -60, - "y": -66 - }, - { - "x": -60, - "y": -22 - }, - { - "x": 38, - "y": -22 - }, - { - "x": 38, - "y": -66 - }, - { - "x": 66, - "y": -66 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 32 - }, - { - "x": -4, - "y": 32 - }, - { - "x": -4, - "y": 76 - }, - { - "x": 38, - "y": 76 - }, - { - "x": 38, - "y": 32 - }, - { - "x": 66, - "y": 32 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -71, - "y": 7 - }, - { - "x": -85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 71, - "y": 7 - }, - { - "x": 85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that delays a signal when it becomes true.\n

\n

\nA rising edge of the Boolean input u gives a delayed output.\nA falling edge of the input is immediately given to the output. If\ndelayOnInit = true, then a true input signal\nat the start time is also delayed, otherwise the input signal is\nproduced immediately at the output.\n

\n

\nSimulation results of a typical example with a delay time of 0.1 second\nis shown below.\n

\n

\n\\\"OnDelay1.png\\\"\n
\n\\\"OnDelay2.png\\\"\n

\n\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nNovember 12, 2020, by Michael Wetter:
    \nReformulated to remove dependency to Modelica.Units.SI.
    \nThis is for\nissue 2243.\n
  • \n
  • \nFebruary 11, 2019, by Milica Grahovac:
    \nAdded boolean input to enable delay of an initial true input.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/TrueDelay.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueDelay.mo", - "checksum": "4d4cddbe92a5451b488ada4eac810f92" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json deleted file mode 100644 index ac0e769e..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json +++ /dev/null @@ -1,2566 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Logical", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "TrueFalseHold", - "description_string": "Block that holds an output signal for at least a specified duration", - "composition": { - "element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "trueHoldDuration", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "true hold duration" - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "falseHoldDuration", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "trueHoldDuration" - } - } - }, - "description": { - "description_string": "false hold duration" - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanInput", - "component_list": [ - { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Boolean input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -220, - "y": -20 - }, - { - "x": -180, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 160, - "y": -20 - }, - { - "x": 200, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "protected_element_list": [ - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", - "component_list": [ - { - "declaration": { - "identifier": "onDel1", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "delayTime", - "modification": { - "equal": true, - "expression": { - "simple_expression": "falseHoldDuration" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Output true when timer elapsed the required time", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": -40 - }, - { - "x": -80, - "y": -20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", - "component_list": [ - { - "declaration": { - "identifier": "onDel2", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "delayTime", - "modification": { - "equal": true, - "expression": { - "simple_expression": "trueHoldDuration" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Output true when timer elapsed the required time", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 20, - "y": -70 - }, - { - "x": 40, - "y": -50 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "inner": true, - "component_clause": { - "type_specifier": "Modelica.StateGraph.StateGraphRoot", - "component_list": [ - { - "declaration": { - "identifier": "stateGraphRoot" - }, - "description": { - "description_string": "Root of state graph", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -160, - "y": 100 - }, - { - "x": -140, - "y": 120 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Modelica.StateGraph.StepWithSignal", - "component_list": [ - { - "declaration": { - "identifier": "outputFalse", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nIn", - "modification": { - "equal": true, - "expression": { - "simple_expression": "2" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nOut", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "State for which the block outputs false", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -60, - "y": 10 - }, - { - "x": -40, - "y": 30 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Modelica.StateGraph.TransitionWithSignal", - "component_list": [ - { - "declaration": { - "identifier": "toTrue" - }, - "description": { - "description_string": "Transition to true", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -30, - "y": 10 - }, - { - "x": -10, - "y": 30 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "CDL.Logical.Not", - "component_list": [ - { - "declaration": { - "identifier": "notU" - }, - "description": { - "description_string": "Negation of input", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 60 - }, - { - "x": -120, - "y": 80 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Modelica.StateGraph.StepWithSignal", - "component_list": [ - { - "declaration": { - "identifier": "outputTrue", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nIn", - "modification": { - "equal": true, - "expression": { - "simple_expression": "2" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nOut", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "State with true output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 0, - "y": 10 - }, - { - "x": 20, - "y": 30 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Modelica.StateGraph.TransitionWithSignal", - "component_list": [ - { - "declaration": { - "identifier": "toFalse" - }, - "description": { - "description_string": "Transition to false", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 30, - "y": 10 - }, - { - "x": 50, - "y": 30 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "CDL.Logical.And", - "component_list": [ - { - "declaration": { - "identifier": "and2" - }, - "description": { - "description_string": "Check for input and elapsed timer", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 60, - "y": -70 - }, - { - "x": 80, - "y": -50 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "CDL.Logical.And", - "component_list": [ - { - "declaration": { - "identifier": "and1" - }, - "description": { - "description_string": "Check for input and elapsed timer", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": -40 - }, - { - "x": -30, - "y": -20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Modelica.StateGraph.InitialStep", - "component_list": [ - { - "declaration": { - "identifier": "initialStep", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nIn", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nOut", - "modification": { - "equal": true, - "expression": { - "simple_expression": "2" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Initial state", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -120, - "y": 100 - }, - { - "x": -100, - "y": 120 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Modelica.StateGraph.TransitionWithSignal", - "component_list": [ - { - "declaration": { - "identifier": "toTrue1" - }, - "description": { - "description_string": "Transition to true", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -70, - "y": 102 - }, - { - "x": -50, - "y": 122 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Modelica.StateGraph.TransitionWithSignal", - "component_list": [ - { - "declaration": { - "identifier": "toFalse1" - }, - "description": { - "description_string": "Transition to false", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -90, - "y": 80 - }, - { - "x": -70, - "y": 100 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ] - }, - { - "equation_section": { - "equation": [ - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "outputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "outPort", - "array_subscripts": [ - { - "expression": { - "simple_expression": "1" - } - } - ] - } - ], - "to": [ - { - "dot_op": false, - "identifier": "toFalse" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "inPort" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 20.5, - "y": 20 - }, - { - "x": 28, - "y": 20 - }, - { - "x": 36, - "y": 20 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "outputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "active" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 10, - "y": 9 - }, - { - "x": 10, - "y": 0 - }, - { - "x": 180, - "y": 0 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "outputFalse" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "outPort", - "array_subscripts": [ - { - "expression": { - "simple_expression": "1" - } - } - ] - } - ], - "to": [ - { - "dot_op": false, - "identifier": "toTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "inPort" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -39.5, - "y": 20 - }, - { - "x": -32, - "y": 20 - }, - { - "x": -24, - "y": 20 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "toFalse" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "outPort" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "outputFalse" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "inPort", - "array_subscripts": [ - { - "expression": { - "simple_expression": "1" - } - } - ] - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 41.5, - "y": 20 - }, - { - "x": 60, - "y": 20 - }, - { - "x": 60, - "y": 40 - }, - { - "x": -70, - "y": 40 - }, - { - "x": -70, - "y": 20.5 - }, - { - "x": -61, - "y": 20.5 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "outputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "active" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "onDel2" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 10, - "y": 9 - }, - { - "x": 10, - "y": 0 - }, - { - "x": 10, - "y": -60 - }, - { - "x": 18, - "y": -60 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "notU" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "and2" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -118, - "y": 70 - }, - { - "x": 140, - "y": 70 - }, - { - "x": 140, - "y": -80 - }, - { - "x": 48, - "y": -80 - }, - { - "x": 48, - "y": -68 - }, - { - "x": 58, - "y": -68 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "and2" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "toFalse" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "condition" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 82, - "y": -60 - }, - { - "x": 100, - "y": -60 - }, - { - "x": 100, - "y": -20 - }, - { - "x": 40, - "y": -20 - }, - { - "x": 40, - "y": 8 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "outputFalse" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "active" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "onDel1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -50, - "y": 9 - }, - { - "x": -50, - "y": 0 - }, - { - "x": -140, - "y": 0 - }, - { - "x": -140, - "y": -30 - }, - { - "x": -102, - "y": -30 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "u" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "and1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -200, - "y": 0 - }, - { - "x": -160, - "y": 0 - }, - { - "x": -160, - "y": -50 - }, - { - "x": -60, - "y": -50 - }, - { - "x": -60, - "y": -38 - }, - { - "x": -52, - "y": -38 - }, - { - "x": -52, - "y": -38 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "and1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "toTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "condition" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -28, - "y": -30 - }, - { - "x": -20, - "y": -30 - }, - { - "x": -20, - "y": 8 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "u" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "toTrue1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "condition" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -200, - "y": 0 - }, - { - "x": -160, - "y": 0 - }, - { - "x": -160, - "y": 52 - }, - { - "x": -60, - "y": 52 - }, - { - "x": -60, - "y": 100 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "toTrue1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "outPort" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "outputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "inPort", - "array_subscripts": [ - { - "expression": { - "simple_expression": "1" - } - } - ] - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -58.5, - "y": 112 - }, - { - "x": -10, - "y": 112 - }, - { - "x": -10, - "y": 20.5 - }, - { - "x": -1, - "y": 20.5 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "toTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "outPort" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "outputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "inPort", - "array_subscripts": [ - { - "expression": { - "simple_expression": "2" - } - } - ] - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -18.5, - "y": 20 - }, - { - "x": -1, - "y": 20 - }, - { - "x": -1, - "y": 19.5 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "toFalse1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "outPort" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "outputFalse" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "inPort", - "array_subscripts": [ - { - "expression": { - "simple_expression": "2" - } - } - ] - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -78.5, - "y": 90 - }, - { - "x": -72, - "y": 90 - }, - { - "x": -72, - "y": 44 - }, - { - "x": -72, - "y": 20 - }, - { - "x": -61, - "y": 20 - }, - { - "x": -61, - "y": 19.5 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "initialStep" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "outPort", - "array_subscripts": [ - { - "expression": { - "simple_expression": "1" - } - } - ] - } - ], - "to": [ - { - "dot_op": false, - "identifier": "toTrue1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "inPort" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -99.5, - "y": 110.25 - }, - { - "x": -90, - "y": 110.25 - }, - { - "x": -90, - "y": 110 - }, - { - "x": -90, - "y": 112 - }, - { - "x": -64, - "y": 112 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "initialStep" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "outPort", - "array_subscripts": [ - { - "expression": { - "simple_expression": "2" - } - } - ] - } - ], - "to": [ - { - "dot_op": false, - "identifier": "toFalse1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "inPort" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -99.5, - "y": 109.75 - }, - { - "x": -94, - "y": 109.75 - }, - { - "x": -94, - "y": 110 - }, - { - "x": -90, - "y": 110 - }, - { - "x": -90, - "y": 90 - }, - { - "x": -84, - "y": 90 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "notU" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -142, - "y": 70 - }, - { - "x": -160, - "y": 70 - }, - { - "x": -160, - "y": 0 - }, - { - "x": -200, - "y": 0 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "notU" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "toFalse1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "condition" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -118, - "y": 70 - }, - { - "x": -80, - "y": 70 - }, - { - "x": -80, - "y": 78 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "onDel1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "and1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -78, - "y": -30 - }, - { - "x": -52, - "y": -30 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "onDel2" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "and2" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 42, - "y": -60 - }, - { - "x": 42, - "y": -60 - }, - { - "x": 58, - "y": -60 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"truFalHol\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -84, - "y": 10 - }, - { - "x": -50, - "y": 10 - }, - { - "x": -50, - "y": 54 - }, - { - "x": -18, - "y": 54 - }, - { - "x": -18, - "y": 10 - }, - { - "x": -18, - "y": 10 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -78, - "y": -46 - }, - { - "x": -48, - "y": -46 - }, - { - "x": -48, - "y": -2 - }, - { - "x": -24, - "y": -2 - }, - { - "x": -24, - "y": -46 - }, - { - "x": -24, - "y": -46 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -24, - "y": -46 - }, - { - "x": 6, - "y": -46 - }, - { - "x": 6, - "y": -2 - }, - { - "x": 44, - "y": -2 - }, - { - "x": 44, - "y": -46 - }, - { - "x": 74, - "y": -46 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -18, - "y": 10 - }, - { - "x": 14, - "y": 10 - }, - { - "x": 14, - "y": 54 - }, - { - "x": 46, - "y": 54 - }, - { - "x": 46, - "y": 10 - }, - { - "x": 66, - "y": 10 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -88, - "y": -62 - }, - { - "x": 92, - "y": -90 - } - ], - "textString": "\"%falseHoldDuration\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 71, - "y": 7 - }, - { - "x": 85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -83, - "y": 7 - }, - { - "x": -69, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -90, - "y": 96 - }, - { - "x": 96, - "y": 68 - } - ], - "textString": "\"%trueHoldDuration\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -180, - "y": -120 - }, - { - "x": 160, - "y": 140 - } - ], - "preserveAspectRatio": "false" - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that holds a true or false signal for at least a defined time period.\n

\n

\nWhenever the input u switches, the output y\nswitches and remains at that value for at least duration\nseconds, where duration is a parameter.\nAfter duration elapsed, the output will be\ny = u.\nIf this change required changing the value of y,\nthen y will remain at that value for at least duration.\nOtherwise, y will change immediately whenever u\nchanges.\n

\n

\nThis block could for example be used to disable an economizer,\nand not re-enable it for 10 minutes, and vice versa.\n

\n

\nThe image below shows the implementation with a state graph in which\neach transition is only triggered when the input has the corresponding value,\nand the current state has been active for at least duration seconds.\n

\n\n

\n\n

\n\n

\nSimulation results of a typical example with duration = 1000 seconds.\n

\n\n

\n\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nNovember 12, 2020, by Michael Wetter:
    \nReformulated to remove dependency to Modelica.Units.SI.
    \nThis is for\nissue 2243.\n
  • \n
  • \nSeptember 18, 2017, by Michael Wetter:
    \nImproved event handling.\n
  • \n
  • \nJuly 14, 2017, by Michael Wetter:
    \nCorrected model to set output equal to input during initialization.\n
  • \n
  • \nJune 13, 2017, by Michael Wetter:
    \nReimplemented model using a state graph to avoid having to test for equality within tolerance,\nand to correct a bug.\nThis implementation is also easier to understand.
    \nThis is for\nissue 789.\n
  • \n
  • \nMay 24, 2017, by Milica Grahovac:
    \nFirst implementation.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo", - "checksum": "d3d500d5e52ce2d22a6b926b26115822" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json deleted file mode 100644 index 3ab91b79..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json +++ /dev/null @@ -1,1213 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Logical", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "TrueHoldWithReset", - "description_string": "Block that holds a true signal for at least a requested duration", - "composition": { - "element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "duration", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Time duration of the true output signal hold" - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanInput", - "component_list": [ - { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Boolean input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "protected_element_list": [ - { - "inner": true, - "component_clause": { - "type_specifier": "Modelica.StateGraph.StateGraphRoot", - "component_list": [ - { - "declaration": { - "identifier": "stateGraphRoot" - }, - "description": { - "description_string": "Root of state graph", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 70, - "y": 68 - }, - { - "x": 90, - "y": 88 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", - "component_list": [ - { - "declaration": { - "identifier": "onDelay", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "delayTime", - "modification": { - "equal": true, - "expression": { - "simple_expression": "duration" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Delay for the on signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 10, - "y": 10 - }, - { - "x": 30, - "y": 30 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Modelica.StateGraph.InitialStep", - "component_list": [ - { - "declaration": { - "identifier": "initialStep", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nIn", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nOut", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Initial step", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -80, - "y": 50 - }, - { - "x": -60, - "y": 70 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Modelica.StateGraph.StepWithSignal", - "component_list": [ - { - "declaration": { - "identifier": "outputTrue", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nIn", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nOut", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Holds the output at true", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -10, - "y": 50 - }, - { - "x": 10, - "y": 70 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Modelica.StateGraph.TransitionWithSignal", - "component_list": [ - { - "declaration": { - "identifier": "toOutputTrue" - }, - "description": { - "description_string": "Transition that activates sending a true output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 50 - }, - { - "x": -30, - "y": 70 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Modelica.StateGraph.TransitionWithSignal", - "component_list": [ - { - "declaration": { - "identifier": "toInitial" - }, - "description": { - "description_string": "Transition that activates the initial state", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 30, - "y": 50 - }, - { - "x": 50, - "y": 70 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ] - }, - { - "equation_section": { - "equation": [ - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "initialStep" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "outPort", - "array_subscripts": [ - { - "expression": { - "simple_expression": "1" - } - } - ] - } - ], - "to": [ - { - "dot_op": false, - "identifier": "toOutputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "inPort" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -59.5, - "y": 60 - }, - { - "x": -44, - "y": 60 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "outputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "active" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 0, - "y": 49 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 120, - "y": 0 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "toOutputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "condition" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -40, - "y": 48 - }, - { - "x": -40, - "y": 0 - }, - { - "x": -120, - "y": 0 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "toInitial" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "outPort" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "initialStep" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "inPort", - "array_subscripts": [ - { - "expression": { - "simple_expression": "1" - } - } - ] - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 41.5, - "y": 60 - }, - { - "x": 52, - "y": 60 - }, - { - "x": 52, - "y": 86 - }, - { - "x": -90, - "y": 86 - }, - { - "x": -90, - "y": 60 - }, - { - "x": -81, - "y": 60 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "outputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "active" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "onDelay" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 0, - "y": 49 - }, - { - "x": 0, - "y": 20 - }, - { - "x": 8, - "y": 20 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "toOutputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "outPort" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "outputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "inPort", - "array_subscripts": [ - { - "expression": { - "simple_expression": "1" - } - } - ] - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -38.5, - "y": 60 - }, - { - "x": -11, - "y": 60 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "outputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "outPort", - "array_subscripts": [ - { - "expression": { - "simple_expression": "1" - } - } - ] - } - ], - "to": [ - { - "dot_op": false, - "identifier": "toInitial" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "inPort" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 10.5, - "y": 60 - }, - { - "x": 36, - "y": 60 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "onDelay" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "toInitial" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "condition" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 32, - "y": 20 - }, - { - "x": 40, - "y": 20 - }, - { - "x": 40, - "y": 48 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"truHol\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -72, - "y": 18 - }, - { - "x": -48, - "y": 18 - }, - { - "x": -48, - "y": 62 - }, - { - "x": 52, - "y": 62 - }, - { - "x": 52, - "y": 18 - }, - { - "x": 80, - "y": 18 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -68, - "y": -46 - }, - { - "x": -48, - "y": -46 - }, - { - "x": -48, - "y": -2 - }, - { - "x": 22, - "y": -2 - }, - { - "x": 22, - "y": -46 - }, - { - "x": 78, - "y": -46 - } - ] - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -90, - "y": -62 - }, - { - "x": 96, - "y": -90 - } - ], - "textString": "\"%duration\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 71, - "y": 7 - }, - { - "x": 85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -83, - "y": 7 - }, - { - "x": -69, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that holds a true input signal for at least a defined time period.\n

\n

\nAt initialization, the output y is equal to the input u.\nIf the input u becomes true, or is true\nduring intialization, a timer starts\nand the Boolean output y stays true for the time\nperiod provided by the parameter duration.\nWhen this time is elapsed, the input is checked again. If\nit is true, then the timer is restarted and the output remains\ntrue for another duration seconds.\nIf the input u is false after\nholdTime seconds, then the ouput is switched to false,\nuntil the input becomes true again.\n

\n

\nThe figure below shows the state chart of the implementation. Note that the\ntransition are done in zero time.\n

\n

\n\n

\n

\nThe figure below shows an example with a hold time of 3600 seconds\nand a pulse width period 9000 seconds that starts at t=200 seconds.\n

\n\n

\n\n

\n\n

\nThe figure below shows an example with a hold time of 60 seconds\nand a pulse width period 3600 seconds that starts at t=0 seconds.\n

\n

\n\n

\n

\nThe next two figures show the same experiment, except that the input u\nhas been negated. The figure below has again a hold time of 3600 seconds\nand a pulse width period 9000 seconds that starts at t=200 seconds.\n

\n

\n\n

\n

\nThe figure below has again a hold time of 60 seconds\nand a pulse width period 3600 seconds that starts at t=0 seconds.\n

\n

\n\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nNovember 12, 2020, by Michael Wetter:
    \nReformulated to remove dependency to Modelica.Units.SI.
    \nThis is for\nissue 2243.\n
  • \n
  • \nSeptember 18, 2017, by Michael Wetter:
    \nImproved event handling.\n
  • \n
  • \nJune 13, 2017, by Michael Wetter:
    \nReimplemented model using a state graph to avoid having to test for equality within tolerance.\nThis implementation is also easier to understand.
    \nThis is for\nissue 789.\n
  • \n
  • \nMay 24, 2017, by Milica Grahovac:
    \nFirst implementation.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.mo", - "checksum": "3f59d58e38a2801b2f79b0bcb847b674" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Abs.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Abs.json deleted file mode 100644 index 1da95116..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Abs.json +++ /dev/null @@ -1,426 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Reals", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "Abs", - "description_string": "Output the absolute value of the input", - "composition": { - "element_list": [ - { - "component_clause": { - "type_specifier": "Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Connector of Real input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Real output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": { - "function_call": { - "name": "abs", - "arguments": [ - { - "name": "u" - } - ] - } - } - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"abs\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 110 - }, - { - "x": 150, - "y": 150 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 92, - "y": 0 - }, - { - "x": 70, - "y": 8 - }, - { - "x": 70, - "y": -8 - }, - { - "x": 92, - "y": 0 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 80 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 80, - "y": 80 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 0, - "y": -14 - }, - { - "x": 0, - "y": 68 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 90 - }, - { - "x": -8, - "y": 68 - }, - { - "x": 8, - "y": 68 - }, - { - "x": 0, - "y": 90 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -34, - "y": -28 - }, - { - "x": 38, - "y": -76 - } - ], - "textString": "\"abs\"", - "textColor": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -88, - "y": 0 - }, - { - "x": 76, - "y": 0 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 226, - "y": 60 - }, - { - "x": 106, - "y": 10 - } - ], - "textString": "DynamicSelect(\"\",String(y", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs y = abs(u),\nwhere\nu is an input.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Abs.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Abs.mo", - "checksum": "47afbd25663a02ee2391db2fe3eaaa64" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Add.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Add.json deleted file mode 100644 index c0ba6714..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Add.json +++ /dev/null @@ -1,416 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Reals", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "Add", - "description_string": "Output the sum of the two inputs", - "composition": { - "element_list": [ - { - "component_clause": { - "type_specifier": "Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Connector of Real input signal 1", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 40 - }, - { - "x": -100, - "y": 80 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Connector of Real input signal 2", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -80 - }, - { - "x": -100, - "y": -40 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Real output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": "u1 +u2" - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"add2\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs y as the sum of the\ntwo input signals u1 and u2,\n

\n
\n    y = u1 + u2.\n
\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJanuary 27, 2022, by Jianjun Hu:
    \nRemoved gain factors.
    \nThis is for issue 2865.\n
  • \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -50, - "y": -50 - }, - { - "x": 50, - "y": 50 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -100, - "y": 60 - }, - { - "x": -74, - "y": 24 - }, - { - "x": -44, - "y": 24 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -100, - "y": -60 - }, - { - "x": -74, - "y": -28 - }, - { - "x": -42, - "y": -28 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 50, - "y": 0 - }, - { - "x": 100, - "y": 0 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -36, - "y": -26 - }, - { - "x": 40, - "y": 42 - } - ], - "textString": "\"+\"" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 226, - "y": 60 - }, - { - "x": 106, - "y": 10 - } - ], - "textString": "DynamicSelect(\"\",String(y", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Add.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Add.mo", - "checksum": "8935beacbfae0ecbcb54890e5e52d0e3" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Derivative.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Derivative.json deleted file mode 100644 index e2a45b8a..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Derivative.json +++ /dev/null @@ -1,782 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Reals", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "Derivative", - "description_string": "Block that approximates the derivative of the input", - "composition": { - "element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Initial value of output (= state)", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Initialization\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "k" - }, - "description": { - "description_string": "Connector for gain signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 60 - }, - { - "x": -100, - "y": 100 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "T", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Buildings.Controls.OBC.CDL.Constants.eps" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Time constant (T>0 required; T=0 is ideal derivative block)", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 20 - }, - { - "x": -100, - "y": 60 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Input to be differentiated", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Approximation of derivative du/dt", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "protected_element_list": [ - { - "component_clause": { - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "T_nonZero", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Non-zero value for T" - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "output", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "x" - }, - "description": { - "description_string": "State of block" - } - } - ] - } - } - ] - }, - { - "equation_section": { - "initial": true, - "equation": [ - { - "assignment_equation": { - "lhs": "x", - "rhs": { - "if_expression": { - "if_elseif": [ - { - "condition": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "abs(k)" - }, - { - "name": "Buildings.Controls.OBC.CDL.Constants.eps" - } - ], - "relation_operator": "<" - } - ] - } - ] - } - } - }, - "then": { - "simple_expression": "u" - } - } - ], - "else_expression": { - "simple_expression": "u -T*y_start/k" - } - } - } - } - } - ] - } - }, - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "T_nonZero", - "rhs": { - "simple_expression": { - "function_call": { - "name": "max", - "arguments": [ - { - "name": "T" - }, - { - "name": "100*Buildings.Controls.OBC.CDL.Constants.eps" - } - ] - } - } - } - } - }, - { - "assignment_equation": { - "lhs": "der(x)", - "rhs": { - "simple_expression": "(u -x)/T_nonZero" - } - } - }, - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": "(k/T_nonZero)*(u -x)" - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"der\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nThis blocks defines the transfer function between the\ninput u and the output y\nas approximated derivative:\n

\n
\n                s\n  y = k * ------------ * u\n            T * s + 1\n
\n

\nIf k=0, the block reduces to y=0.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMay 20, 2022, by Michael Wetter:
    \nFirst implementation.
    \nThis is for\nissue 3022.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -56, - "y": 78 - }, - { - "x": -56, - "y": -90 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -56, - "y": 90 - }, - { - "x": -64, - "y": 68 - }, - { - "x": -48, - "y": 68 - }, - { - "x": -56, - "y": 90 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -64, - "y": -80 - }, - { - "x": 82, - "y": -80 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 90, - "y": -80 - }, - { - "x": 68, - "y": -72 - }, - { - "x": 68, - "y": -88 - }, - { - "x": 90, - "y": -80 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -31.333, - "y": 89.333 - }, - { - "x": -19.333, - "y": -40.667 - }, - { - "x": 86.667, - "y": -52.667 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - }, - "smooth": "Smooth.Bezier" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 226, - "y": 60 - }, - { - "x": 106, - "y": 10 - } - ], - "textString": "DynamicSelect(\"\",String(y", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -106, - "y": 14 - }, - { - "x": -62, - "y": -12 - } - ], - "textString": "\"u\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 46, - "y": 14 - }, - { - "x": 90, - "y": -12 - } - ], - "textString": ",textString=", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -108, - "y": 94 - }, - { - "x": -64, - "y": 68 - } - ], - "textString": "\"k\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -108, - "y": 54 - }, - { - "x": -64, - "y": 28 - } - ], - "textString": "\"T\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Derivative.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Derivative.mo", - "checksum": "02baea4c7904828cbd7f5e7d99b26c43" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Greater.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Greater.json deleted file mode 100644 index 2613c001..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Greater.json +++ /dev/null @@ -1,1734 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Reals", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "Greater", - "description_string": "Output y is true, if input u1 is greater than input u2", - "composition": { - "element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "h", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Hysteresis", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "component_list": [ - { - "declaration": { - "identifier": "pre_y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - }, - "description": { - "description_string": "Value of pre(y) at initial time", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Input u1", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Input u2", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Output y", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "protected_element_list": [ - { - "final": true, - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "component_list": [ - { - "declaration": { - "identifier": "have_hysteresis", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "h" - }, - { - "name": "1e-10" - } - ], - "relation_operator": ">=" - } - ] - } - ] - } - } - } - } - }, - "description": { - "description_string": "True if the block has no hysteresis", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "GreaterWithHysteresis", - "component_list": [ - { - "declaration": { - "identifier": "greHys", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "h", - "modification": { - "equal": true, - "expression": { - "simple_expression": "h" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "pre_y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "pre_y_start" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "have_hysteresis" - } - }, - "description": { - "description_string": "Block with hysteresis", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -10, - "y": 20 - }, - { - "x": 10, - "y": 40 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "GreaterNoHysteresis", - "component_list": [ - { - "declaration": { - "identifier": "greNoHys" - }, - "condition_attribute": { - "expression": { - "simple_expression": "not have_hysteresis" - } - }, - "description": { - "description_string": "Block without hysteresis", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -10, - "y": -40 - }, - { - "x": 10, - "y": -20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "class_definition": { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "GreaterNoHysteresis", - "description_string": "Greater block without hysteresis", - "composition": { - "element_list": [ - { - "component_clause": { - "type_specifier": "Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Input u1", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Input u2", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Output y", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "u1" - }, - { - "name": "u2" - } - ], - "relation_operator": ">" - } - ] - } - ] - } - } - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - } - ] - } - } - } - } - }, - { - "class_definition": { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "GreaterWithHysteresis", - "description_string": "Greater block without hysteresis", - "composition": { - "element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "h", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Hysteresis", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "component_list": [ - { - "declaration": { - "identifier": "pre_y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - }, - "description": { - "description_string": "Value of pre(y) at initial time", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Input u1", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Input u2", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Output y", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "initial": true, - "equation": [ - { - "function_call_equation": { - "function_name": "assert", - "function_call_args": { - "function_argument": { - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "h" - }, - { - "name": "0" - } - ], - "relation_operator": ">=" - } - ] - } - ] - } - } - } - }, - "function_arguments": { - "function_argument": { - "expression": { - "simple_expression": "\"Hysteresis must not be negative\"" - } - } - } - } - } - }, - { - "assignment_equation": { - "lhs": { - "function_call": { - "name": "pre", - "arguments": [ - { - "name": "y" - } - ] - } - }, - "rhs": { - "simple_expression": "pre_y_start" - } - } - } - ] - } - }, - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": "([object Object])" - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -64, - "y": 62 - }, - { - "x": 62, - "y": 92 - } - ], - "textString": ",textString=", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - } - ] - } - } - } - } - } - ] - }, - { - "equation_section": { - "equation": [ - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "u1" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "greHys" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -120, - "y": 0 - }, - { - "x": -66, - "y": 0 - }, - { - "x": -66, - "y": 30 - }, - { - "x": -12, - "y": 30 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "u2" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "greHys" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -120, - "y": -80 - }, - { - "x": -60, - "y": -80 - }, - { - "x": -60, - "y": 22 - }, - { - "x": -12, - "y": 22 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "greHys" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 12, - "y": 30 - }, - { - "x": 60, - "y": 30 - }, - { - "x": 60, - "y": 0 - }, - { - "x": 120, - "y": 0 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "u1" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "greNoHys" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -120, - "y": 0 - }, - { - "x": -66, - "y": 0 - }, - { - "x": -66, - "y": -30 - }, - { - "x": -12, - "y": -30 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "u2" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "greNoHys" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -120, - "y": -80 - }, - { - "x": -60, - "y": -80 - }, - { - "x": -60, - "y": -38 - }, - { - "x": -12, - "y": -38 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "greNoHys" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 12, - "y": -30 - }, - { - "x": 60, - "y": -30 - }, - { - "x": 60, - "y": 0 - }, - { - "x": 120, - "y": 0 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"gre\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "false" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 73, - "y": 7 - }, - { - "x": 87, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -100, - "y": -80 - }, - { - "x": 42, - "y": -80 - }, - { - "x": 42, - "y": -62 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -12, - "y": 14 - }, - { - "x": 18, - "y": 2 - }, - { - "x": -12, - "y": -8 - } - ], - "thickness": 0.5 - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -64, - "y": 62 - }, - { - "x": 62, - "y": 92 - } - ], - "textString": ",textString=", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -88, - "y": -18 - }, - { - "x": -21, - "y": 24 - } - ], - "textString": "DynamicSelect(\"\",String(u1", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -86, - "y": -76 - }, - { - "x": -19, - "y": -34 - } - ], - "textString": "DynamicSelect(\"\",String(u2", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 22, - "y": 20 - }, - { - "x": 89, - "y": 62 - } - ], - "textString": "DynamicSelect(\"\",String(u2", - "textColor": { - "r": 235, - "g": 235, - "b": null - }, - "visible": ",visible=" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 22, - "y": 20 - }, - { - "x": 89, - "y": 62 - } - ], - "textString": "DynamicSelect(\"\",String(u2", - "textColor": { - "r": 235, - "g": 235, - "b": null - }, - "visible": ",visible=" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 20, - "y": -56 - }, - { - "x": 87, - "y": -14 - } - ], - "textString": "DynamicSelect(\"\",String(u2 -h", - "textColor": { - "r": 235, - "g": 235, - "b": null - }, - "visible": ",visible=" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs true if the Real input u1\nis greater than the Real input u2, optionally within a hysteresis h.\n

\n

\nThe parameter h ≥ 0 is used to specify a hysteresis.\nFor any h ≥ 0, the output switches to true if u1 > u2,\nand it switches to false if u1 ≤ u2 - h.\nNote that in the special case of h = 0, this produces the output y=u1 > u2.\n

\n

\nTo disable hysteresis, set h=0.\n

\n

Usage

\n

\nEnabling hysteresis can avoid frequent switching.
\nIn simulation, adding hysteresis is recommended to guard against numerical noise.\nOtherwise, numerical noise from a nonlinear solver or from an\nimplicit time integration algorithm may cause the simulation to stall.\nNumerical noise can be present if an input depends\non a state variable or a quantity that requires an iterative solution,\nsuch as a temperature or a mass flow rate of an HVAC system.
\nIn real controllers, adding hysteresis is recommended to guard against measurement noise.\nOtherwise, measurement noise may cause the output to change frequently.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nApril 29, 2022, by Jianjun Hu:
    \nCorrected the condition of swiching true back to false.
    \nThis is for issue 2981.\n
  • \n
  • \nFebruary 3, 2021, by Antoine Gautier:
    \nCorrected documentation.
    \nThis is for issue 2246.\n
  • \n
  • \nAugust 5, 2020, by Michael Wetter:
    \nAdded hysteresis.
    \nThis is for issue 2076.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Greater.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Greater.mo", - "checksum": "be5ef14dcd9140ce763ab2f853a34955" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Hysteresis.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Hysteresis.json deleted file mode 100644 index d7578bbc..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Hysteresis.json +++ /dev/null @@ -1,794 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Reals", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "Hysteresis", - "description_string": "Transform Real to Boolean signal with Hysteresis", - "composition": { - "element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "uLow" - }, - "description": { - "description_string": "if y=true and uuHigh, switch to y=true" - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "component_list": [ - { - "declaration": { - "identifier": "pre_y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - }, - "description": { - "description_string": "Value of pre(y) at initial time" - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Real input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "initial": true, - "equation": [ - { - "function_call_equation": { - "function_name": "assert", - "function_call_args": { - "function_argument": { - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "uHigh" - }, - { - "name": "uLow" - } - ], - "relation_operator": ">" - } - ] - } - ] - } - } - } - }, - "function_arguments": { - "function_argument": { - "expression": { - "simple_expression": "\"Hysteresis limits wrong. uHigh must be larger than uLow\"" - } - } - } - } - } - }, - { - "assignment_equation": { - "lhs": { - "function_call": { - "name": "pre", - "arguments": [ - { - "name": "y" - } - ] - } - }, - "rhs": { - "simple_expression": "pre_y_start" - } - } - } - ] - } - }, - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "u" - }, - { - "name": "uHigh" - } - ], - "relation_operator": ">" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "u" - }, - { - "name": "uLow" - } - ], - "relation_operator": ">=" - } - ] - } - ] - } - } - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"hys\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 71, - "y": 7 - }, - { - "x": 85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -80, - "y": 90 - }, - { - "x": -88, - "y": 68 - }, - { - "x": -72, - "y": 68 - }, - { - "x": -80, - "y": 90 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 68 - }, - { - "x": -80, - "y": -29 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 92, - "y": -29 - }, - { - "x": 70, - "y": -21 - }, - { - "x": 70, - "y": -37 - }, - { - "x": 92, - "y": -29 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -79, - "y": -29 - }, - { - "x": 84, - "y": -29 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -79, - "y": -29 - }, - { - "x": 41, - "y": -29 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -15, - "y": -21 - }, - { - "x": 1, - "y": -29 - }, - { - "x": -15, - "y": -36 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 41, - "y": 51 - }, - { - "x": 41, - "y": -29 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 33, - "y": 3 - }, - { - "x": 41, - "y": 22 - }, - { - "x": 50, - "y": 3 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -49, - "y": 51 - }, - { - "x": 81, - "y": 51 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -4, - "y": 59 - }, - { - "x": -19, - "y": 51 - }, - { - "x": -4, - "y": 43 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -59, - "y": 29 - }, - { - "x": -49, - "y": 11 - }, - { - "x": -39, - "y": 29 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -49, - "y": 51 - }, - { - "x": -49, - "y": -29 - } - ] - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -92, - "y": -49 - }, - { - "x": -9, - "y": -92 - } - ], - "textString": "\"%uLow\"", - "textColor": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 2, - "y": -49 - }, - { - "x": 91, - "y": -92 - } - ], - "textString": "\"%uHigh\"", - "textColor": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -91, - "y": -49 - }, - { - "x": -8, - "y": -92 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -49, - "y": -29 - }, - { - "x": -49, - "y": -49 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": 2, - "y": -49 - }, - { - "x": 91, - "y": -92 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 41, - "y": -29 - }, - { - "x": 41, - "y": -49 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that transforms a Real input signal into a Boolean\noutput signal:\n

\n
    \n
  • When the output was false and the input becomes\n greater than the parameter uHigh, the output\n switches to true.\n
  • \n
  • When the output was true and the input becomes\n less than the parameter uLow, the output\n switches to false.\n
  • \n
\n

\nThe start value of the output is defined via parameter\npre_y_start (= value of pre(y) at initial time).\nThe default value of this parameter is false.\n

\n

\n\\\"Hysteresis.png\\\"\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nOctober 3, 2017, by Michael Wetter:
    \nRemoved start value for parameters, and moved assertion to initial equation.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Hysteresis.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Hysteresis.mo", - "checksum": "b6d025eaf826d61d3ee4fdca33c80643" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.json deleted file mode 100644 index 9016caaf..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.json +++ /dev/null @@ -1,584 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Reals", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "IntegratorWithReset", - "description_string": "Output the integral of the input signal", - "composition": { - "element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - }, - "description": { - "description_string": "Integrator gain" - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Initial or guess value of output (= state)", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Initialization\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Connector of Real input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "y_reset_in" - }, - "description": { - "description_string": "Input signal for state to which integrator is reset", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", - "component_list": [ - { - "declaration": { - "identifier": "trigger" - }, - "description": { - "description_string": "Resets the integrator output when trigger becomes true", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "origin": { - "x": 0, - "y": -120 - }, - "extent": [ - { - "x": -20, - "y": -20 - }, - { - "x": 20, - "y": 20 - } - ], - "rotation": 90 - }, - "iconTransformation": { - "origin": { - "x": 0, - "y": -120 - }, - "extent": [ - { - "x": -20, - "y": -20 - }, - { - "x": 20, - "y": 20 - } - ], - "rotation": 90 - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Real output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "initial": true, - "equation": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": "y_start" - } - } - } - ] - } - }, - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "der(y)", - "rhs": { - "simple_expression": "k*u" - } - } - }, - { - "when_equation": [ - { - "condition": { - "simple_expression": "trigger" - }, - "then": [ - { - "function_call_equation": { - "function_name": "reinit", - "function_call_args": { - "function_argument": { - "expression": { - "simple_expression": "y" - } - }, - "function_arguments": { - "function_argument": { - "expression": { - "simple_expression": "y_reset_in" - } - } - } - } - } - } - ] - } - ] - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"intWitRes\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -88, - "y": -94 - }, - { - "x": 212, - "y": -54 - } - ], - "textString": "\"y_reset_in\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "horizontalAlignment": "TextAlignment.Left" - } - }, - { - "name": "Bitmap", - "attribute": { - "extent": [ - { - "x": -54, - "y": -50 - }, - { - "x": 60, - "y": 50 - } - ], - "fileName": "\"modelica://Buildings/Resources/Images/Controls/OBC/CDL/Reals/int.png\"" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -88, - "y": 56 - }, - { - "x": 206, - "y": 92 - } - ], - "textString": ",textString=", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "horizontalAlignment": "TextAlignment.Left" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -92, - "y": -12 - }, - { - "x": 208, - "y": 28 - } - ], - "textString": "\"u\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "horizontalAlignment": "TextAlignment.Left" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 70, - "y": -14 - }, - { - "x": 370, - "y": 26 - } - ], - "textString": "\"y\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "horizontalAlignment": "TextAlignment.Left" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 226, - "y": 60 - }, - { - "x": 106, - "y": 10 - } - ], - "textString": "DynamicSelect(\"\",String(y", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs\n

\n

\ny(t) = ystart + ∫t0t u(s) ds.\n

\n

\nWhenever the input signal trigger changes from false\nto true,\nthe integrator is reset by setting ystart\nto the value of the input signal y_reset_in.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJune 8, 2023, by Michael Wetter:
    \nUpdated documentation.\n
  • \n
  • \nFebruary 2, 2022, by Michael Wetter:
    \nRemoved unit=\\\"1\\\" declaration for gain k.\nThis is to avoid the warning observed in\n#2872.\n
  • \n
  • \nOctober 21, 2021, by Michael Wetter:
    \nRemoved errorneous visible attribute in icon.\n
  • \n
  • \nAugust 3, 2020, by Jianjun:
    \nFixed the input y_reset_in.\n
    \nThis is for\nissue 2056.\n
  • \n
  • \nApril 21, 2020, by Michael Wetter:
    \nRemoved parameter initType.\n
    \nThis is for\nissue 1887.\n
  • \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nNovember 6, 2017, by Michael Wetter:
    \nExplicitly declared types from CDL.\n
  • \n
  • \nMarch 23, 2017, by Jianjun Hu:
    \nFirst implementation, based on the implementation of\n\nBuildings.Utilities.Math.IntegratorWithReset.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.mo", - "checksum": "89d7c69c235dcc9ebb07613b0d3a3077" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Limiter.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Limiter.json deleted file mode 100644 index b42aa723..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Limiter.json +++ /dev/null @@ -1,561 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Reals", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "Limiter", - "description_string": "Limit the range of a signal", - "composition": { - "element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "uMax" - }, - "description": { - "description_string": "Upper limit of input signal" - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "uMin" - }, - "description": { - "description_string": "Lower limit of input signal" - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Connector of Real input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Real output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "initial": true, - "equation": [ - { - "function_call_equation": { - "function_name": "assert", - "function_call_args": { - "function_argument": { - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "uMin" - }, - { - "name": "uMax" - } - ], - "relation_operator": "<" - } - ] - } - ] - } - } - } - }, - "function_arguments": { - "function_argument": { - "expression": { - "simple_expression": "\"uMin must be smaller than uMax. Check parameters.\"" - } - } - } - } - } - } - ] - } - }, - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": { - "function_call": { - "name": "homotopy", - "arguments": [ - { - "name": "actual=smooth(0,noEvent(if [object Object] then uMax else if [object Object] then uMin else u)),simplified=u" - } - ] - } - } - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"lim\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs y = min(uMax, max(uMin, u)),\nwhere\nu is an input\nand\nuMax and uMin are parameters.\n

\n

\nIf uMax < uMin, an error occurs and no output is produced.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nJuly 17, 2017, by Michael Wetter:
    \nRemoved cyclical definition.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 110 - }, - { - "x": 150, - "y": 150 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 0, - "y": -90 - }, - { - "x": 0, - "y": 68 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 90 - }, - { - "x": -8, - "y": 68 - }, - { - "x": 8, - "y": 68 - }, - { - "x": 0, - "y": 90 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -90, - "y": 0 - }, - { - "x": 68, - "y": 0 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 90, - "y": 0 - }, - { - "x": 68, - "y": -8 - }, - { - "x": 68, - "y": 8 - }, - { - "x": 90, - "y": 0 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": -70 - }, - { - "x": -50, - "y": -70 - }, - { - "x": 50, - "y": 70 - }, - { - "x": 80, - "y": 70 - } - ] - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 50, - "y": 70 - }, - { - "x": 80, - "y": 70 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": -70 - }, - { - "x": -50, - "y": -70 - } - ] - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 12, - "y": 72 - }, - { - "x": 94, - "y": 98 - } - ], - "textString": "\"%uMax\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -100, - "y": -98 - }, - { - "x": -18, - "y": -72 - } - ], - "textString": "\"%uMin\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 226, - "y": 60 - }, - { - "x": 106, - "y": 10 - } - ], - "textString": "DynamicSelect(\"\",String(y", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Limiter.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Limiter.mo", - "checksum": "1c4e972e729ef2669cf41617559278c8" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Min.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Min.json deleted file mode 100644 index 25830f40..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Min.json +++ /dev/null @@ -1,339 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Reals", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "Min", - "description_string": "Pass through the smallest signal", - "composition": { - "element_list": [ - { - "component_clause": { - "type_specifier": "Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Connector of Real input signal 1", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 40 - }, - { - "x": -100, - "y": 80 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Connector of Real input signal 2", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -80 - }, - { - "x": -100, - "y": -40 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Real output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": { - "function_call": { - "name": "min", - "arguments": [ - { - "name": "u1" - }, - { - "name": "u2" - } - ] - } - } - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"min\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs y = min(u1, u2),\nwhere\nu1 and u2 are inputs.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -90, - "y": 36 - }, - { - "x": 90, - "y": -36 - } - ], - "textString": "\"min()\"", - "textColor": { - "r": 160, - "g": 160, - "b": 164 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 226, - "y": 60 - }, - { - "x": 106, - "y": 10 - } - ], - "textString": "DynamicSelect(\"\",String(y", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Min.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Min.mo", - "checksum": "573a70ec95c00792a6e99a8d4a854cd6" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.json deleted file mode 100644 index 2ce6d347..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.json +++ /dev/null @@ -1,314 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Reals", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "MultiplyByParameter", - "description_string": "Output the product of a gain value with the input signal", - "composition": { - "element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "k" - }, - "description": { - "description_string": "Gain value multiplied with input signal" - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Input signal connector", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Output signal connector", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": "k*u" - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"gai\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs y = k * u,\nwhere\nk is a parameter and\nu is an input.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJanuary 27, 2022, by Jianjun Hu:
    \nRenamed the block name from Gain to MultiplyByParameter.
    \nThis is for issue 2865.\n
  • \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -100, - "y": -100 - }, - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": 0 - }, - { - "x": -100, - "y": -100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": -140 - }, - { - "x": 150, - "y": -100 - } - ], - "textString": ",textString=", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 144 - }, - { - "x": 150, - "y": 104 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 226, - "y": 60 - }, - { - "x": 106, - "y": 10 - } - ], - "textString": "DynamicSelect(\"\",String(y", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.mo", - "checksum": "b437136da7b6ca8036b2e38d776836e9" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/PID.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/PID.json deleted file mode 100644 index 49987915..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/PID.json +++ /dev/null @@ -1,5127 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Reals", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "PID", - "description_string": "P, PI, PD, and PID controller", - "composition": { - "element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Buildings.Controls.OBC.CDL.Types.SimpleController", - "component_list": [ - { - "declaration": { - "identifier": "controllerType", - "modification": { - "equal": true, - "expression": { - "simple_expression": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" - } - } - }, - "description": { - "description_string": "Type of controller" - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "k", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "1" - } - } - }, - "description": { - "description_string": "Gain of controller", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Control gains\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "Ti", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0.5" - } - } - }, - "description": { - "description_string": "Time constant of integrator block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Control gains\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "Td", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0.1" - } - } - }, - "description": { - "description_string": "Time constant of derivative block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Control gains\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "r", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "1" - } - } - }, - "description": { - "description_string": "Typical range of control error, used for scaling the control error" - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "yMax", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - }, - "description": { - "description_string": "Upper limit of output", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Limits\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "yMin", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Lower limit of output", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Limits\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "Ni", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0.9" - } - } - }, - "description": { - "description_string": "Ni*Ti is time constant of anti-windup compensation", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Integrator anti-windup\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "Nd", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "10" - } - } - }, - "description": { - "description_string": "The higher Nd, the more ideal the derivative block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Derivative block\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "xi_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Initial value of integrator state", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Initialization\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "yd_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Initial value of derivative output", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Initialization\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "component_list": [ - { - "declaration": { - "identifier": "reverseActing", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - }, - "description": { - "description_string": "Set to true for reverse acting, or false for direct acting control action" - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u_s" - }, - "description": { - "description_string": "Connector of setpoint input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -260, - "y": -20 - }, - { - "x": -220, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u_m" - }, - "description": { - "description_string": "Connector of measurement input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "origin": { - "x": 0, - "y": -220 - }, - "extent": [ - { - "x": 20, - "y": -20 - }, - { - "x": -20, - "y": 20 - } - ], - "rotation": 270 - }, - "iconTransformation": { - "origin": { - "x": 0, - "y": -120 - }, - "extent": [ - { - "x": 20, - "y": -20 - }, - { - "x": -20, - "y": 20 - } - ], - "rotation": 270 - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of actuator output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 220, - "y": -20 - }, - { - "x": 260, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "component_list": [ - { - "declaration": { - "identifier": "controlError" - }, - "description": { - "description_string": "Control error (set point - measurement)", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -200, - "y": -16 - }, - { - "x": -180, - "y": 4 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", - "component_list": [ - { - "declaration": { - "identifier": "P", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "k" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Gain for proportional control action", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 130 - }, - { - "x": -30, - "y": 150 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.IntegratorWithReset", - "component_list": [ - { - "declaration": { - "identifier": "I", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "k/Ti" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "xi_start" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Integral term", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": -10 - }, - { - "x": -30, - "y": 10 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Derivative", - "component_list": [ - { - "declaration": { - "identifier": "D", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "yd_start" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_D" - } - }, - "description": { - "description_string": "Derivative term", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 60 - }, - { - "x": -30, - "y": 80 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "component_list": [ - { - "declaration": { - "identifier": "errP" - }, - "description": { - "description_string": "P error", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 130 - }, - { - "x": -120, - "y": 150 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "component_list": [ - { - "declaration": { - "identifier": "errD" - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_D" - } - }, - "description": { - "description_string": "D error", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 60 - }, - { - "x": -120, - "y": 80 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "component_list": [ - { - "declaration": { - "identifier": "errI1" - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "I error (before anti-windup compensation)", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -4 - }, - { - "x": -120, - "y": 16 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "component_list": [ - { - "declaration": { - "identifier": "errI2" - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "I error (after anti-windup compensation)", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": -10 - }, - { - "x": -80, - "y": 10 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Limiter", - "component_list": [ - { - "declaration": { - "identifier": "lim", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "uMax", - "modification": { - "equal": true, - "expression": { - "simple_expression": "yMax" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "uMin", - "modification": { - "equal": true, - "expression": { - "simple_expression": "yMin" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Limiter", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 120, - "y": 80 - }, - { - "x": 140, - "y": 100 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "protected_element_list": [ - { - "final": true, - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "revAct", - "modification": { - "equal": true, - "expression": { - "if_expression": { - "if_elseif": [ - { - "condition": { - "simple_expression": "reverseActing" - }, - "then": { - "simple_expression": "1" - } - } - ], - "else_expression": { - "simple_expression": "-1" - } - } - } - } - }, - "description": { - "description_string": "Switch for sign for reverse or direct acting controller" - } - } - ] - } - }, - { - "final": true, - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "component_list": [ - { - "declaration": { - "identifier": "with_I", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - }, - "description": { - "description_string": "Boolean flag to enable integral action", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "HideResult", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - ] - } - }, - { - "final": true, - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "component_list": [ - { - "declaration": { - "identifier": "with_D", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - }, - "description": { - "description_string": "Boolean flag to enable derivative action", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "HideResult", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Sources.Constant", - "component_list": [ - { - "declaration": { - "identifier": "kDer", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "k*Td" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_D" - } - }, - "description": { - "description_string": "Gain for derivative block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": 110 - }, - { - "x": -80, - "y": 130 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Sources.Constant", - "component_list": [ - { - "declaration": { - "identifier": "TDer", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "Td/Nd" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_D" - } - }, - "description": { - "description_string": "Time constant for approximation in derivative block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": 80 - }, - { - "x": -80, - "y": 100 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", - "component_list": [ - { - "declaration": { - "identifier": "Dzero", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "not with_D" - } - }, - "description": { - "description_string": "Zero input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "HideResult", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 90 - }, - { - "x": -30, - "y": 110 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", - "component_list": [ - { - "declaration": { - "identifier": "uS_revAct", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "revAct/r" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Set point multiplied by reverse action sign", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -200, - "y": 30 - }, - { - "x": -180, - "y": 50 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", - "component_list": [ - { - "declaration": { - "identifier": "uMea_revAct", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "revAct/r" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Set point multiplied by reverse action sign", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -200, - "y": -50 - }, - { - "x": -180, - "y": -30 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", - "component_list": [ - { - "declaration": { - "identifier": "addPD" - }, - "description": { - "description_string": "Outputs P and D gains added", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 20, - "y": 124 - }, - { - "x": 40, - "y": 144 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", - "component_list": [ - { - "declaration": { - "identifier": "addPID" - }, - "description": { - "description_string": "Outputs P, I and D gains added", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 80, - "y": 80 - }, - { - "x": 100, - "y": 100 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "component_list": [ - { - "declaration": { - "identifier": "antWinErr" - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Error for anti-windup compensation", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 160, - "y": 50 - }, - { - "x": 180, - "y": 70 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", - "component_list": [ - { - "declaration": { - "identifier": "antWinGai", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1/(k*Ni)" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Gain for anti-windup compensation", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 180, - "y": -30 - }, - { - "x": 160, - "y": -10 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Sources.Constant", - "component_list": [ - { - "declaration": { - "identifier": "cheYMinMax", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "yMin" - }, - { - "name": "yMax" - } - ], - "relation_operator": "<" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Check for values of yMin and yMax", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 120, - "y": -160 - }, - { - "x": 140, - "y": -140 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Utilities.Assert", - "component_list": [ - { - "declaration": { - "identifier": "assMesYMinMax", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "message", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"LimPID: Limits must be yMin < yMax\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Assertion on yMin and yMax", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 160, - "y": -160 - }, - { - "x": 180, - "y": -140 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", - "component_list": [ - { - "declaration": { - "identifier": "Izero", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "not with_I" - } - }, - "description": { - "description_string": "Zero input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 20 - }, - { - "x": -30, - "y": 40 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", - "component_list": [ - { - "declaration": { - "identifier": "con", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Constant zero", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": -50 - }, - { - "x": -80, - "y": -30 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Sources.Constant", - "component_list": [ - { - "declaration": { - "identifier": "con1", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Constant false", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": -90 - }, - { - "x": -80, - "y": -70 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ] - }, - { - "equation_section": { - "equation": [ - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "u_s" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "uS_revAct" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -240, - "y": 0 - }, - { - "x": -210, - "y": 0 - }, - { - "x": -210, - "y": 40 - }, - { - "x": -202, - "y": 40 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "u_m" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "uMea_revAct" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 0, - "y": -220 - }, - { - "x": 0, - "y": -160 - }, - { - "x": -210, - "y": -160 - }, - { - "x": -210, - "y": -40 - }, - { - "x": -202, - "y": -40 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "D" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "errD" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -52, - "y": 70 - }, - { - "x": -118, - "y": 70 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "errI1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "uS_revAct" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -142, - "y": 12 - }, - { - "x": -170, - "y": 12 - }, - { - "x": -170, - "y": 40 - }, - { - "x": -178, - "y": 40 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "addPID" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "addPD" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 78, - "y": 96 - }, - { - "x": 50, - "y": 96 - }, - { - "x": 50, - "y": 134 - }, - { - "x": 42, - "y": 134 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "lim" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 142, - "y": 90 - }, - { - "x": 200, - "y": 90 - }, - { - "x": 200, - "y": 0 - }, - { - "x": 240, - "y": 0 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "antWinErr" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "antWinGai" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 182, - "y": 60 - }, - { - "x": 190, - "y": 60 - }, - { - "x": 190, - "y": -20 - }, - { - "x": 182, - "y": -20 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "addPD" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "Dzero" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 18, - "y": 128 - }, - { - "x": -10, - "y": 128 - }, - { - "x": -10, - "y": 100 - }, - { - "x": -28, - "y": 100 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "D" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "addPD" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -28, - "y": 70 - }, - { - "x": -10, - "y": 70 - }, - { - "x": -10, - "y": 128 - }, - { - "x": 18, - "y": 128 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "addPID" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "I" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 78, - "y": 84 - }, - { - "x": 60, - "y": 84 - }, - { - "x": 60, - "y": 0 - }, - { - "x": -28, - "y": 0 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "antWinErr" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "lim" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 158, - "y": 54 - }, - { - "x": 150, - "y": 54 - }, - { - "x": 150, - "y": 90 - }, - { - "x": 142, - "y": 90 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "I" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "errI2" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -52, - "y": 0 - }, - { - "x": -78, - "y": 0 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "errI1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "errI2" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -118, - "y": 6 - }, - { - "x": -102, - "y": 6 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "cheYMinMax" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "assMesYMinMax" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 142, - "y": -150 - }, - { - "x": 158, - "y": -150 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "Izero" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "addPID" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -28, - "y": 30 - }, - { - "x": 60, - "y": 30 - }, - { - "x": 60, - "y": 84 - }, - { - "x": 78, - "y": 84 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "con" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "I" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y_reset_in" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -78, - "y": -40 - }, - { - "x": -60, - "y": -40 - }, - { - "x": -60, - "y": -8 - }, - { - "x": -52, - "y": -8 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "con1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "I" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "trigger" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -78, - "y": -80 - }, - { - "x": -40, - "y": -80 - }, - { - "x": -40, - "y": -12 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "uS_revAct" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "errP" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -178, - "y": 40 - }, - { - "x": -170, - "y": 40 - }, - { - "x": -170, - "y": 146 - }, - { - "x": -142, - "y": 146 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "errD" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "uS_revAct" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -142, - "y": 76 - }, - { - "x": -170, - "y": 76 - }, - { - "x": -170, - "y": 40 - }, - { - "x": -178, - "y": 40 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "addPD" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "P" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 18, - "y": 140 - }, - { - "x": -28, - "y": 140 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "P" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "errP" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -52, - "y": 140 - }, - { - "x": -118, - "y": 140 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "addPID" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "lim" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 102, - "y": 90 - }, - { - "x": 118, - "y": 90 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "addPID" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "antWinErr" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 102, - "y": 90 - }, - { - "x": 114, - "y": 90 - }, - { - "x": 114, - "y": 66 - }, - { - "x": 158, - "y": 66 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "u_s" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "controlError" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -240, - "y": 0 - }, - { - "x": -202, - "y": 0 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "u_m" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "controlError" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 0, - "y": -220 - }, - { - "x": 0, - "y": -160 - }, - { - "x": -210, - "y": -160 - }, - { - "x": -210, - "y": -12 - }, - { - "x": -202, - "y": -12 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "uMea_revAct" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "errP" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -178, - "y": -40 - }, - { - "x": -150, - "y": -40 - }, - { - "x": -150, - "y": 134 - }, - { - "x": -142, - "y": 134 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "uMea_revAct" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "errD" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -178, - "y": -40 - }, - { - "x": -150, - "y": -40 - }, - { - "x": -150, - "y": 64 - }, - { - "x": -142, - "y": 64 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "uMea_revAct" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "errI1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -178, - "y": -40 - }, - { - "x": -150, - "y": -40 - }, - { - "x": -150, - "y": 0 - }, - { - "x": -142, - "y": 0 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "antWinGai" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "errI2" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 158, - "y": -20 - }, - { - "x": -110, - "y": -20 - }, - { - "x": -110, - "y": -6 - }, - { - "x": -102, - "y": -6 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "kDer" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "D" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "k" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -78, - "y": 120 - }, - { - "x": -58, - "y": 120 - }, - { - "x": -58, - "y": 78 - }, - { - "x": -52, - "y": 78 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "TDer" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "D" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "T" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -78, - "y": 90 - }, - { - "x": -60, - "y": 90 - }, - { - "x": -60, - "y": 74 - }, - { - "x": -52, - "y": 74 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"conPID\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -6, - "y": -20 - }, - { - "x": 66, - "y": -66 - } - ], - "lineColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -32, - "y": -22 - }, - { - "x": 68, - "y": -62 - } - ], - "textString": "\"P\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "visible": "([object Object])", - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -26, - "y": -22 - }, - { - "x": 74, - "y": -62 - } - ], - "textString": "\"PI\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "visible": "([object Object])", - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -16, - "y": -22 - }, - { - "x": 88, - "y": -62 - } - ], - "textString": "\"P D\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "visible": "([object Object])", - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -14, - "y": -22 - }, - { - "x": 86, - "y": -62 - } - ], - "textString": "\"PID\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "visible": "([object Object])", - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -80, - "y": 82 - }, - { - "x": -88, - "y": 60 - }, - { - "x": -72, - "y": 60 - }, - { - "x": -80, - "y": 82 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 68 - }, - { - "x": -80, - "y": -100 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -90, - "y": -80 - }, - { - "x": 70, - "y": -80 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 74, - "y": -80 - }, - { - "x": 52, - "y": -72 - }, - { - "x": 52, - "y": -88 - }, - { - "x": 74, - "y": -80 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": -80 - }, - { - "x": -80, - "y": -22 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": -22 - }, - { - "x": 6, - "y": 56 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 6, - "y": 56 - }, - { - "x": 68, - "y": 56 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": 100, - "y": -100 - }, - { - "x": 84, - "y": -100 - }, - { - "x": null, - "y": null - }, - { - "x": 100, - "y": -100 - }, - { - "x": 84, - "y": null - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -220, - "y": -200 - }, - { - "x": 220, - "y": 200 - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -56, - "y": 180 - }, - { - "x": -24, - "y": -16 - } - ], - "fillColor": { - "r": 215, - "g": 215, - "b": 215 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -52, - "y": 184 - }, - { - "x": -28, - "y": 156 - } - ], - "textString": "\"PID\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 215, - "g": 215, - "b": 215 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nPID controller in the standard form\n

\n

\nyu = k/r   (e(t) + 1 ⁄ Ti   ∫ e(τ) dτ + Td d⁄dt e(t)),\n

\n

\nwhere\nyu is the control signal before output limitation,\ne(t) = us(t) - um(t) is the control error,\nwith us being the set point and um being\nthe measured quantity,\nk is the gain,\nTi is the time constant of the integral term,\nTd is the time constant of the derivative term,\nand\nr is a scaling factor, with default r=1.\nThe scaling factor should be set to the typical order of magnitude of the range of the error e.\nFor example, you may set r=100 to r=1000\nif the control input is a pressure of a heating water circulation pump in units of Pascal, or\nleave r=1 if the control input is a room temperature.\n

\n

\nNote that the units of k are the inverse of the units of the control error,\nwhile the units of Ti and Td are seconds.\n

\n

\nThe actual control output is\n

\n

\ny = min( ymax, max( ymin, y)),\n

\n

\nwhere ymin and ymax are limits for the control signal.\n

\n

P, PI, PD, or PID action

\n

\nThrough the parameter controllerType, the controller can be configured\nas P, PI, PD or PID controller. The default configuration is PI.\n

\n

Reverse or direct action

\n

\nThrough the parameter reverseActing, the controller can be configured to\nbe reverse or direct acting.\nThe above standard form is reverse acting, which is the default configuration.\nFor a reverse acting controller, for a constant set point,\nan increase in measurement signal u_m decreases the control output signal y\n(Montgomery and McDowall, 2008).\nThus,\n

\n
    \n
  • \n for a heating coil with a two-way valve, leave reverseActing = true, but\n
  • \n
  • \n for a cooling coil with a two-way valve, set reverseActing = false.\n
  • \n
\n

\nIf reverseAction=false, then the error e above is multiplied by -1.\n

\n

Anti-windup compensation

\n

\nThe controller anti-windup compensation is as follows:\nInstead of the above basic control law, the implementation is\n

\n

\nyu = k   (e(t) ⁄ r + 1 ⁄ Ti   ∫ (-Δy + e(τ) ⁄ r) dτ + Td ⁄ r d⁄dt e(t)),\n

\n

\nwhere the anti-windup compensation Δy is\n

\n

\nΔy = (yu - y) ⁄ (k Ni),\n

\n

\nwhere\nNi > 0 is the time constant for the anti-windup compensation.\nTo accelerate the anti-windup, decrease Ni.\n

\n

\nNote that the anti-windup term (-Δy + e(τ) ⁄ r) shows that the range of\nthe typical control error r should be set to a reasonable value so that\n

\n

\ne(τ) ⁄ r = (us(τ) - um(τ)) ⁄ r\n

\n

\nhas order of magnitude one, and hence the anti-windup compensation should work well.\n

\n

Reset of the controller output

\n

\nNote that this controller implements an integrator anti-windup. Therefore,\nfor most applications, the controller output does not need to be reset.\nHowever, if the controller is used in conjuction with equipment that is being\nswitched on, better control performance may be achieved by resetting the controller\noutput when the equipment is switched on. This is in particular the case in situations\nwhere the equipment control input should continuously increase as the equipment is\nswitched on, such as a light dimmer that may slowly increase the luminance, or\na variable speed drive of a motor that should continuously increase the speed. In\nthis case, the controller\n\nBuildings.Controls.OBC.CDL.Reals.PIDWithReset\nthat can reset the output should be used.\n

\n

Approximation of the derivative term

\n

\nThe derivative of the control error d ⁄ dt e(t) is approximated using\n

\n

\nd⁄dt x(t) = (e(t)-x(t)) Nd ⁄ Td,\n

\n

\nand\n

\n

\nd⁄dt e(t) ≈ Nd (e(t)-x(t)),\n

\n

\nwhere x(t) is an internal state.\n

\n

Guidance for tuning the control gains

\n

\nThe parameters of the controller can be manually adjusted by performing\nclosed loop tests (= controller + plant connected\ntogether) and using the following strategy:\n

\n
    \n
  1. Set very large limits, e.g., set ymax = 1000.\n
  2. \n
  3. \nSelect a P-controller and manually enlarge the parameter k\n(the total gain of the controller) until the closed-loop response\ncannot be improved any more.\n
  4. \n
  5. \nSelect a PI-controller and manually adjust the parameters\nk and Ti (the time constant of the integrator).\nThe first value of Ti can be selected such that it is in the\norder of the time constant of the oscillations occurring with\nthe P-controller. If, e.g., oscillations in the order of 100 seconds\noccur in the previous step, start with Ti=1/100 seconds.\n
  6. \n
  7. \nIf you want to make the reaction of the control loop faster\n(but probably less robust against disturbances and measurement noise)\nselect a PID-controller and manually adjust parameters\nk, Ti, Td (time constant of derivative block).\n
  8. \n
  9. \nSet the limits yMax and yMin according to your specification.\n
  10. \n
  11. \nPerform simulations such that the output of the PID controller\ngoes in its limits. Tune Ni (Ni Ti is the time constant of\nthe anti-windup compensation) such that the input to the limiter\nblock (= lim.u) goes quickly enough back to its limits.\nIf Ni is decreased, this happens faster. If Ni is very large, the\nanti-windup compensation is not effective and the controller works bad.\n
  12. \n
\n

References

\n

\nR. Montgomery and R. McDowall (2008).\n\\\"Fundamentals of HVAC Control Systems.\\\"\nAmerican Society of Heating Refrigerating and Air-Conditioning Engineers Inc. Atlanta, GA.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMay 20, 2022, by Michael Wetter:
    \nRefactored implementation to use new derivative block from CDL package.
    \nThis is for\nissue 3022.\n
  • \n
  • \nMay 6, 2022, by Michael Wetter:
    \nCorrected wrong documentation in how the derivative of the control error is approximated.
    \nThis is for\nissue 2994.\n
  • \n
  • \nNovember 12, 2020, by Michael Wetter:
    \nReformulated to remove dependency to Modelica.Units.SI.
    \nThis is for\nissue 2243.\n
  • \n
  • \nOctober 15, 2020, by Michael Wetter:
    \nAdded scaling factor r, removed set point weights wp and wd.\nRevised documentation.
    \nThis is for issue 2182.\n
  • \n
  • \nAugust 4, 2020, by Jianjun Hu:
    \nRemoved the conditional inputs trigger and y_rest_in.\nRefactored to internally implement the derivative block.
    \nThis is for issue 2056.\n
  • \n
  • \nJune 1, 2020, by Michael Wetter:
    \nCorrected wrong convention of reverse and direct action.
    \nThis is for issue 1365.\n
  • \n
  • \nApril 23, 2020, by Michael Wetter:
    \nChanged default parameters for limits yMax from unspecified to 1\nand yMin from -yMax to 0.
    \nThis is for\nissue 1888.\n
  • \n
  • \nApril 7, 2020, by Michael Wetter:
    \nReimplemented block using only CDL constructs.\nThis refactoring removes the no longer use parameters xd_start that was\nused to initialize the state of the derivative term. This state is now initialized\nbased on the requested initial output yd_start which is a new parameter\nwith a default of 0.\nAlso, removed the parameters y_start and initType because\nthe initial output of the controller can be set by using xi_start\nand yd_start.\nThis is a non-backward compatible change, made to simplify the controller through\nthe removal of options that can be realized differently and are hardly ever used.\nThis refactoring also removes the parameter strict that\nwas used in the output limiter. The new implementation enforces a strict check by default.
    \nThis is for\nissue 1878.\n
  • \n
  • \nMarch 9, 2020, by Michael Wetter:
    \nCorrected unit declaration for gain k.
    \nSee issue 1821.\n
  • \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nFebruary 25, 2020, by Michael Wetter:
    \nChanged icon to display the output value.\n
  • \n
  • \nOctober 19, 2019, by Michael Wetter:
    \nDisabled homotopy to ensure bounded outputs\nby copying the implementation from MSL 3.2.3 and by\nhardcoding the implementation for homotopyType=NoHomotopy.
    \nSee issue 1221.\n
  • \n
  • \nNovember 13, 2017, by Michael Wetter:
    \nChanged default controller type from PID to PI.\n
  • \n
  • \nNovember 6, 2017, by Michael Wetter:
    \nExplicitly declared types and used integrator with reset from CDL.\n
  • \n
  • \nOctober 22, 2017, by Michael Wetter:
    \nAdded to CDL to have a PI controller with integrator reset.\n
  • \n
  • \nSeptember 29, 2016, by Michael Wetter:
    \nRefactored model.\n
  • \n
  • \nAugust 25, 2016, by Michael Wetter:
    \nRemoved parameter limitsAtInit because it was only propagated to\nthe instance limiter, but this block no longer makes use of this parameter.\nThis is a non-backward compatible change.
    \nRevised implemenentation, added comments, made some parameter in the instances final.\n
  • \n
  • July 18, 2016, by Philipp Mehrfeld:
    \nAdded integrator reset.\nThis is for issue 494.\n
  • \n
  • \nMarch 15, 2016, by Michael Wetter:
    \nChanged the default value to strict=true in order to avoid events\nwhen the controller saturates.\nThis is for issue 433.\n
  • \n
  • \nFebruary 24, 2010, by Michael Wetter:
    \nFirst implementation.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/PID.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo", - "checksum": "2aa3083815bf02466044ec307fdd83e8" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.json deleted file mode 100644 index 3bcc3b9c..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.json +++ /dev/null @@ -1,5391 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Reals", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "PIDWithReset", - "description_string": "P, PI, PD, and PID controller with output reset", - "composition": { - "element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Buildings.Controls.OBC.CDL.Types.SimpleController", - "component_list": [ - { - "declaration": { - "identifier": "controllerType", - "modification": { - "equal": true, - "expression": { - "simple_expression": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" - } - } - }, - "description": { - "description_string": "Type of controller" - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "k", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "1" - } - } - }, - "description": { - "description_string": "Gain of controller", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Control gains\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "Ti", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0.5" - } - } - }, - "description": { - "description_string": "Time constant of integrator block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Control gains\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "Td", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0.1" - } - } - }, - "description": { - "description_string": "Time constant of derivative block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Control gains\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "r", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "1" - } - } - }, - "description": { - "description_string": "Typical range of control error, used for scaling the control error" - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "yMax", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - }, - "description": { - "description_string": "Upper limit of output", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Limits\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "yMin", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Lower limit of output", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Limits\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "Ni", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0.9" - } - } - }, - "description": { - "description_string": "Ni*Ti is time constant of anti-windup compensation", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Integrator anti-windup\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "Nd", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "10" - } - } - }, - "description": { - "description_string": "The higher Nd, the more ideal the derivative block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Derivative block\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "xi_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Initial value of integrator state", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Initialization\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "yd_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Initial value of derivative output", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Initialization\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "component_list": [ - { - "declaration": { - "identifier": "reverseActing", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - }, - "description": { - "description_string": "Set to true for reverse acting, or false for direct acting control action" - } - } - ] - } - }, - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "y_reset", - "modification": { - "equal": true, - "expression": { - "simple_expression": "xi_start" - } - } - }, - "description": { - "description_string": "Value to which the controller output is reset if the boolean trigger has a rising edge", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Integrator reset\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u_s" - }, - "description": { - "description_string": "Connector of setpoint input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -260, - "y": -20 - }, - { - "x": -220, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u_m" - }, - "description": { - "description_string": "Connector of measurement input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "origin": { - "x": 0, - "y": -220 - }, - "extent": [ - { - "x": 20, - "y": -20 - }, - { - "x": -20, - "y": 20 - } - ], - "rotation": 270 - }, - "iconTransformation": { - "origin": { - "x": 0, - "y": -120 - }, - "extent": [ - { - "x": 20, - "y": -20 - }, - { - "x": -20, - "y": 20 - } - ], - "rotation": 270 - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of actuator output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 220, - "y": -20 - }, - { - "x": 260, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", - "component_list": [ - { - "declaration": { - "identifier": "trigger" - }, - "description": { - "description_string": "Resets the controller output when trigger becomes true", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "origin": { - "x": -160, - "y": -220 - }, - "extent": [ - { - "x": -20, - "y": -20 - }, - { - "x": 20, - "y": 20 - } - ], - "rotation": 90 - }, - "iconTransformation": { - "origin": { - "x": -60, - "y": -120 - }, - "extent": [ - { - "x": -20, - "y": -20 - }, - { - "x": 20, - "y": 20 - } - ], - "rotation": 90 - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "component_list": [ - { - "declaration": { - "identifier": "controlError" - }, - "description": { - "description_string": "Control error (set point - measurement)", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -200, - "y": -16 - }, - { - "x": -180, - "y": 4 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", - "component_list": [ - { - "declaration": { - "identifier": "P", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "k" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Proportional action", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 130 - }, - { - "x": -30, - "y": 150 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.IntegratorWithReset", - "component_list": [ - { - "declaration": { - "identifier": "I", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "k/Ti" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "xi_start" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Integral term", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": -10 - }, - { - "x": -30, - "y": 10 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Derivative", - "component_list": [ - { - "declaration": { - "identifier": "D", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "yd_start" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_D" - } - }, - "description": { - "description_string": "Derivative term", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 60 - }, - { - "x": -30, - "y": 80 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "component_list": [ - { - "declaration": { - "identifier": "errP" - }, - "description": { - "description_string": "P error", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 130 - }, - { - "x": -120, - "y": 150 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "component_list": [ - { - "declaration": { - "identifier": "errD" - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_D" - } - }, - "description": { - "description_string": "D error", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 60 - }, - { - "x": -120, - "y": 80 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "component_list": [ - { - "declaration": { - "identifier": "errI1" - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "I error (before anti-windup compensation)", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -4 - }, - { - "x": -120, - "y": 16 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "component_list": [ - { - "declaration": { - "identifier": "errI2" - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "I error (after anti-windup compensation)", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": -10 - }, - { - "x": -80, - "y": 10 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Limiter", - "component_list": [ - { - "declaration": { - "identifier": "lim", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "uMax", - "modification": { - "equal": true, - "expression": { - "simple_expression": "yMax" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "uMin", - "modification": { - "equal": true, - "expression": { - "simple_expression": "yMin" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Limiter", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 120, - "y": 80 - }, - { - "x": 140, - "y": 100 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "protected_element_list": [ - { - "final": true, - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "revAct", - "modification": { - "equal": true, - "expression": { - "if_expression": { - "if_elseif": [ - { - "condition": { - "simple_expression": "reverseActing" - }, - "then": { - "simple_expression": "1" - } - } - ], - "else_expression": { - "simple_expression": "-1" - } - } - } - } - }, - "description": { - "description_string": "Switch for sign for reverse or direct acting controller" - } - } - ] - } - }, - { - "final": true, - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "component_list": [ - { - "declaration": { - "identifier": "with_I", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - }, - "description": { - "description_string": "Boolean flag to enable integral action", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "HideResult", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - ] - } - }, - { - "final": true, - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "component_list": [ - { - "declaration": { - "identifier": "with_D", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - }, - "description": { - "description_string": "Boolean flag to enable derivative action", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "HideResult", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Sources.Constant", - "component_list": [ - { - "declaration": { - "identifier": "kDer", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "k*Td" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_D" - } - }, - "description": { - "description_string": "Gain for derivative block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": 110 - }, - { - "x": -80, - "y": 130 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Sources.Constant", - "component_list": [ - { - "declaration": { - "identifier": "TDer", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "Td/Nd" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_D" - } - }, - "description": { - "description_string": "Time constant for approximation in derivative block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": 80 - }, - { - "x": -80, - "y": 100 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", - "component_list": [ - { - "declaration": { - "identifier": "Dzero", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "not with_D" - } - }, - "description": { - "description_string": "Zero input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "HideResult", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 90 - }, - { - "x": -30, - "y": 110 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", - "component_list": [ - { - "declaration": { - "identifier": "Izero", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "not with_I" - } - }, - "description": { - "description_string": "Zero input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 20 - }, - { - "x": -30, - "y": 40 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", - "component_list": [ - { - "declaration": { - "identifier": "uS_revAct", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "revAct/r" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Set point multiplied by reverse action sign", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -200, - "y": 30 - }, - { - "x": -180, - "y": 50 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", - "component_list": [ - { - "declaration": { - "identifier": "uMea_revAct", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "revAct/r" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Set point multiplied by reverse action sign", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -200, - "y": -50 - }, - { - "x": -180, - "y": -30 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", - "component_list": [ - { - "declaration": { - "identifier": "addPD" - }, - "description": { - "description_string": "Outputs P and D gains added", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 20, - "y": 124 - }, - { - "x": 40, - "y": 144 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", - "component_list": [ - { - "declaration": { - "identifier": "addPID" - }, - "description": { - "description_string": "Outputs P, I and D gains added", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 80, - "y": 80 - }, - { - "x": 100, - "y": 100 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "component_list": [ - { - "declaration": { - "identifier": "antWinErr" - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Error for anti-windup compensation", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 160, - "y": 50 - }, - { - "x": 180, - "y": 70 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", - "component_list": [ - { - "declaration": { - "identifier": "antWinGai", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1/(k*Ni)" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Gain for anti-windup compensation", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 180, - "y": -30 - }, - { - "x": 160, - "y": -10 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", - "component_list": [ - { - "declaration": { - "identifier": "yResSig", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "y_reset" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Signal for y_reset", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -84 - }, - { - "x": -120, - "y": -64 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "component_list": [ - { - "declaration": { - "identifier": "addRes" - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Adder for integrator reset", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": -90 - }, - { - "x": -80, - "y": -70 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Sources.Constant", - "component_list": [ - { - "declaration": { - "identifier": "cheYMinMax", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "yMin" - }, - { - "name": "yMax" - } - ], - "relation_operator": "<" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Check for values of yMin and yMax", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 120, - "y": -160 - }, - { - "x": 140, - "y": -140 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Utilities.Assert", - "component_list": [ - { - "declaration": { - "identifier": "assMesYMinMax", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "message", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"LimPID: Limits must be yMin < yMax\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Assertion on yMin and yMax", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 160, - "y": -160 - }, - { - "x": 180, - "y": -140 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ] - }, - { - "equation_section": { - "equation": [ - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "trigger" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "I" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "trigger" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -160, - "y": -220 - }, - { - "x": -160, - "y": -140 - }, - { - "x": -40, - "y": -140 - }, - { - "x": -40, - "y": -12 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "u_s" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "uS_revAct" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -240, - "y": 0 - }, - { - "x": -210, - "y": 0 - }, - { - "x": -210, - "y": 40 - }, - { - "x": -202, - "y": 40 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "u_m" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "uMea_revAct" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 0, - "y": -220 - }, - { - "x": 0, - "y": -160 - }, - { - "x": -210, - "y": -160 - }, - { - "x": -210, - "y": -40 - }, - { - "x": -202, - "y": -40 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "errD" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "uMea_revAct" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -142, - "y": 64 - }, - { - "x": -150, - "y": 64 - }, - { - "x": -150, - "y": -40 - }, - { - "x": -178, - "y": -40 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "D" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "errD" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -52, - "y": 70 - }, - { - "x": -118, - "y": 70 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "errI1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "uS_revAct" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -142, - "y": 12 - }, - { - "x": -170, - "y": 12 - }, - { - "x": -170, - "y": 40 - }, - { - "x": -178, - "y": 40 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "addPID" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "addPD" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 78, - "y": 96 - }, - { - "x": 50, - "y": 96 - }, - { - "x": 50, - "y": 134 - }, - { - "x": 42, - "y": 134 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "lim" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 142, - "y": 90 - }, - { - "x": 200, - "y": 90 - }, - { - "x": 200, - "y": 0 - }, - { - "x": 240, - "y": 0 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "antWinErr" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "antWinGai" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 182, - "y": 60 - }, - { - "x": 190, - "y": 60 - }, - { - "x": 190, - "y": -20 - }, - { - "x": 182, - "y": -20 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "addPD" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "Dzero" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 18, - "y": 128 - }, - { - "x": -10, - "y": 128 - }, - { - "x": -10, - "y": 100 - }, - { - "x": -28, - "y": 100 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "D" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "addPD" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -28, - "y": 70 - }, - { - "x": -10, - "y": 70 - }, - { - "x": -10, - "y": 128 - }, - { - "x": 18, - "y": 128 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "addPID" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "I" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 78, - "y": 84 - }, - { - "x": 60, - "y": 84 - }, - { - "x": 60, - "y": 0 - }, - { - "x": -28, - "y": 0 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "addRes" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "I" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y_reset_in" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -78, - "y": -80 - }, - { - "x": -60, - "y": -80 - }, - { - "x": -60, - "y": -8 - }, - { - "x": -52, - "y": -8 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "antWinErr" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "lim" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 158, - "y": 54 - }, - { - "x": 150, - "y": 54 - }, - { - "x": 150, - "y": 90 - }, - { - "x": 142, - "y": 90 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "I" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "errI2" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -52, - "y": 0 - }, - { - "x": -78, - "y": 0 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "errI1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "errI2" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -118, - "y": 6 - }, - { - "x": -102, - "y": 6 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "controlError" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "u_s" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -202, - "y": 0 - }, - { - "x": -240, - "y": 0 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "cheYMinMax" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "assMesYMinMax" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 142, - "y": -150 - }, - { - "x": 158, - "y": -150 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "Izero" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "addPID" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -28, - "y": 30 - }, - { - "x": 60, - "y": 30 - }, - { - "x": 60, - "y": 84 - }, - { - "x": 78, - "y": 84 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "errP" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "uS_revAct" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -142, - "y": 146 - }, - { - "x": -170, - "y": 146 - }, - { - "x": -170, - "y": 40 - }, - { - "x": -178, - "y": 40 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "errD" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "uS_revAct" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -142, - "y": 76 - }, - { - "x": -170, - "y": 76 - }, - { - "x": -170, - "y": 40 - }, - { - "x": -178, - "y": 40 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "addPD" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "P" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 18, - "y": 140 - }, - { - "x": -28, - "y": 140 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "P" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "errP" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -52, - "y": 140 - }, - { - "x": -118, - "y": 140 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "addPID" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "lim" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 102, - "y": 90 - }, - { - "x": 118, - "y": 90 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "addPID" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "antWinErr" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 102, - "y": 90 - }, - { - "x": 114, - "y": 90 - }, - { - "x": 114, - "y": 66 - }, - { - "x": 158, - "y": 66 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "addRes" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "yResSig" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -102, - "y": -74 - }, - { - "x": -118, - "y": -74 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "u_m" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "controlError" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 0, - "y": -220 - }, - { - "x": 0, - "y": -160 - }, - { - "x": -210, - "y": -160 - }, - { - "x": -210, - "y": -12 - }, - { - "x": -202, - "y": -12 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "uMea_revAct" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "errP" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -178, - "y": -40 - }, - { - "x": -150, - "y": -40 - }, - { - "x": -150, - "y": 134 - }, - { - "x": -142, - "y": 134 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "uMea_revAct" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "errI1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -178, - "y": -40 - }, - { - "x": -150, - "y": -40 - }, - { - "x": -150, - "y": 0 - }, - { - "x": -142, - "y": 0 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "antWinGai" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "errI2" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 158, - "y": -20 - }, - { - "x": -110, - "y": -20 - }, - { - "x": -110, - "y": -6 - }, - { - "x": -102, - "y": -6 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "addPD" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "addRes" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 42, - "y": 134 - }, - { - "x": 50, - "y": 134 - }, - { - "x": 50, - "y": -100 - }, - { - "x": -110, - "y": -100 - }, - { - "x": -110, - "y": -86 - }, - { - "x": -102, - "y": -86 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "kDer" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "D" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "k" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -78, - "y": 120 - }, - { - "x": -58, - "y": 120 - }, - { - "x": -58, - "y": 78 - }, - { - "x": -52, - "y": 78 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "TDer" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "D" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "T" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -78, - "y": 90 - }, - { - "x": -60, - "y": 90 - }, - { - "x": -60, - "y": 74 - }, - { - "x": -52, - "y": 74 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"conPID\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -6, - "y": -20 - }, - { - "x": 66, - "y": -66 - } - ], - "lineColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -32, - "y": -22 - }, - { - "x": 68, - "y": -62 - } - ], - "textString": "\"P\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "visible": "([object Object])", - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -26, - "y": -22 - }, - { - "x": 74, - "y": -62 - } - ], - "textString": "\"PI\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "visible": "([object Object])", - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -16, - "y": -22 - }, - { - "x": 88, - "y": -62 - } - ], - "textString": "\"P D\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "visible": "([object Object])", - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -14, - "y": -22 - }, - { - "x": 86, - "y": -62 - } - ], - "textString": "\"PID\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "visible": "([object Object])", - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -80, - "y": 82 - }, - { - "x": -88, - "y": 60 - }, - { - "x": -72, - "y": 60 - }, - { - "x": -80, - "y": 82 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 68 - }, - { - "x": -80, - "y": -100 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -90, - "y": -80 - }, - { - "x": 70, - "y": -80 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 74, - "y": -80 - }, - { - "x": 52, - "y": -72 - }, - { - "x": 52, - "y": -88 - }, - { - "x": 74, - "y": -80 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": -80 - }, - { - "x": -80, - "y": -22 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": -22 - }, - { - "x": 6, - "y": 56 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 6, - "y": 56 - }, - { - "x": 68, - "y": 56 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": 100, - "y": -100 - }, - { - "x": 84, - "y": -100 - }, - { - "x": null, - "y": null - }, - { - "x": 100, - "y": -100 - }, - { - "x": 84, - "y": null - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -220, - "y": -200 - }, - { - "x": 220, - "y": 200 - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -56, - "y": 180 - }, - { - "x": -24, - "y": -16 - } - ], - "fillColor": { - "r": 215, - "g": 215, - "b": 215 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -52, - "y": 184 - }, - { - "x": -28, - "y": 156 - } - ], - "textString": "\"PID\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 215, - "g": 215, - "b": 215 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nPID controller in the standard form\n

\n

\nyu = k/r   (e(t) + 1 ⁄ Ti   ∫ e(τ) dτ + Td d⁄dt e(t)),\n

\n

\nwith output reset,\nwhere\nyu is the control signal before output limitation,\ne(t) = us(t) - um(t) is the control error,\nwith us being the set point and um being\nthe measured quantity,\nk is the gain,\nTi is the time constant of the integral term,\nTd is the time constant of the derivative term,\nand\nr is a scaling factor, with default r=1.\nThe scaling factor should be set to the typical order of magnitude of the range of the error e.\nFor example, you may set r=100 to r=1000\nif the control input is a pressure of a heating water circulation pump in units of Pascal, or\nleave r=1 if the control input is a room temperature.\n

\n

\nNote that the units of k are the inverse of the units of the control error,\nwhile the units of Ti and Td are seconds.\n

\n

\nThe actual control output is\n

\n

\ny = min( ymax, max( ymin, y)),\n

\n

\nwhere ymin and ymax are limits for the control signal.\n

\n

P, PI, PD, or PID action

\n

\nThrough the parameter controllerType, the controller can be configured\nas P, PI, PD or PID controller. The default configuration is PI.\n

\n

Reverse or direct action

\n

\nThrough the parameter reverseActing, the controller can be configured to\nbe reverse or direct acting.\nThe above standard form is reverse acting, which is the default configuration.\nFor a reverse acting controller, for a constant set point,\nan increase in measurement signal u_m decreases the control output signal y\n(Montgomery and McDowall, 2008).\nThus,\n

\n
    \n
  • \n for a heating coil with a two-way valve, leave reverseActing = true, but\n
  • \n
  • \n for a cooling coil with a two-way valve, set reverseActing = false.\n
  • \n
\n

\nIf reverseAction=false, then the error e above is multiplied by -1.\n

\n

Anti-windup compensation

\n

\nThe controller anti-windup compensation is as follows:\nInstead of the above basic control law, the implementation is\n

\n

\nyu = k   (e(t) ⁄ r + 1 ⁄ Ti   ∫ (-Δy + e(τ) ⁄ r) dτ + Td ⁄ r d⁄dt e(t)),\n

\n

\nwhere the anti-windup compensation Δy is\n

\n

\nΔy = (yu - y) ⁄ (k Ni),\n

\n

\nwhere\nNi > 0 is the time constant for the anti-windup compensation.\nTo accelerate the anti-windup, decrease Ni.\n

\n

\nNote that the anti-windup term (-Δy + e(τ) ⁄ r) shows that the range of\nthe typical control error r should be set to a reasonable value so that\n

\n

\ne(τ) ⁄ r = (us(τ) - um(τ)) ⁄ r\n

\n

\nhas order of magnitude one, and hence the anti-windup compensation should work well.\n

\n

Reset of the controller output

\n

\nWhenever the value of boolean input signal trigger changes from\nfalse to true, the controller output is reset by setting\ny to the value of the parameter y_reset.\n

\n

Approximation of the derivative term

\n

\nThe derivative of the control error d ⁄ dt e(t) is approximated using\n

\n

\nd⁄dt x(t) = (e(t)-x(t)) Nd ⁄ Td,\n

\n

\nand\n

\n

\nd⁄dt e(t) ≈ Nd (e(t)-x(t)),\n

\n

\nwhere x(t) is an internal state.\n

\n

Guidance for tuning the control gains

\n

\nThe parameters of the controller can be manually adjusted by performing\nclosed loop tests (= controller + plant connected\ntogether) and using the following strategy:\n

\n
    \n
  1. Set very large limits, e.g., set ymax = 1000.\n
  2. \n
  3. \nSelect a P-controller and manually enlarge the parameter k\n(the total gain of the controller) until the closed-loop response\ncannot be improved any more.\n
  4. \n
  5. \nSelect a PI-controller and manually adjust the parameters\nk and Ti (the time constant of the integrator).\nThe first value of Ti can be selected such that it is in the\norder of the time constant of the oscillations occurring with\nthe P-controller. If, e.g., oscillations in the order of 100 seconds\noccur in the previous step, start with Ti=1/100 seconds.\n
  6. \n
  7. \nIf you want to make the reaction of the control loop faster\n(but probably less robust against disturbances and measurement noise)\nselect a PID-controller and manually adjust parameters\nk, Ti, Td (time constant of derivative block).\n
  8. \n
  9. \nSet the limits yMax and yMin according to your specification.\n
  10. \n
  11. \nPerform simulations such that the output of the PID controller\ngoes in its limits. Tune Ni (Ni Ti is the time constant of\nthe anti-windup compensation) such that the input to the limiter\nblock (= lim.u) goes quickly enough back to its limits.\nIf Ni is decreased, this happens faster. If Ni is very large, the\nanti-windup compensation is not effective and the controller works bad.\n
  12. \n
\n

References

\n

\nR. Montgomery and R. McDowall (2008).\n\\\"Fundamentals of HVAC Control Systems.\\\"\nAmerican Society of Heating Refrigerating and Air-Conditioning Engineers Inc. Atlanta, GA.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMay 20, 2022, by Michael Wetter:
    \nRefactored implementation to use new derivative block from CDL package.
    \nThis is for\nissue 3022.\n
  • \n
  • \nMay 6, 2022, by Michael Wetter:
    \nCorrected wrong documentation in how the derivative of the control error is approximated.
    \nThis is for\nissue 2994.\n
  • \n
  • \nApril 30, 2021, by Michael Wetter:
    \nCorrected error in non-released development version\nwhen reset trigger is true.
    \nRefactored implementation to have separate blocks that show the P, I and D contribution,\neach with the control gain applied.
    \nThis is for\nissue 2475.\n
  • \n
  • \nNovember 12, 2020, by Michael Wetter:
    \nReformulated to remove dependency to Modelica.Units.SI.
    \nThis is for\nissue 2243.\n
  • \n
  • \nOctober 15, 2020, by Michael Wetter:
    \nAdded scaling factor r, removed set point weights wp and wd.\nRevised documentation.
    \nThis is for issue 2182.\n
  • \n
  • \nAugust 4, 2020, by Jianjun Hu:
    \nRemoved the input y_reset_in.\nRefactored to internally implement the derivative block.
    \nThis is for issue 2056.\n
  • \n
  • \nJune 1, 2020, by Michael Wetter:
    \nCorrected wrong convention of reverse and direct action.
    \nThis is for issue 1365.\n
  • \n
  • \nApril 23, 2020, by Michael Wetter:
    \nChanged default parameters for limits yMax from unspecified to 1\nand yMin from -yMax to 0.
    \nThis is for\nissue 1888.\n
  • \n
  • \nApril 7, 2020, by Michael Wetter:
    \nReimplemented block using only CDL constructs.\nThis refactoring removes the no longer use parameters xd_start that was\nused to initialize the state of the derivative term. This state is now initialized\nbased on the requested initial output yd_start which is a new parameter\nwith a default of 0.\nAlso, removed the parameters y_start and initType because\nthe initial output of the controller can be set by using xi_start\nand yd_start.\nThis is a non-backward compatible change, made to simplify the controller through\nthe removal of options that can be realized differently and are hardly ever used.\nThis refactoring also removes the parameter strict that\nwas used in the output limiter. The new implementation enforces a strict check by default.
    \nThis is for\nissue 1878.\n
  • \n
  • \nMarch 9, 2020, by Michael Wetter:
    \nCorrected unit declaration for gain k.
    \nSee issue 1821.\n
  • \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nFebruary 25, 2020, by Michael Wetter:
    \nChanged icon to display the output value.\n
  • \n
  • \nOctober 19, 2019, by Michael Wetter:
    \nDisabled homotopy to ensure bounded outputs\nby copying the implementation from MSL 3.2.3 and by\nhardcoding the implementation for homotopyType=NoHomotopy.
    \nSee issue 1221.\n
  • \n
  • \nNovember 13, 2017, by Michael Wetter:
    \nChanged default controller type from PID to PI.\n
  • \n
  • \nNovember 6, 2017, by Michael Wetter:
    \nExplicitly declared types and used integrator with reset from CDL.\n
  • \n
  • \nOctober 22, 2017, by Michael Wetter:
    \nAdded to CDL to have a PI controller with integrator reset.\n
  • \n
  • \nSeptember 29, 2016, by Michael Wetter:
    \nRefactored model.\n
  • \n
  • \nAugust 25, 2016, by Michael Wetter:
    \nRemoved parameter limitsAtInit because it was only propagated to\nthe instance limiter, but this block no longer makes use of this parameter.\nThis is a non-backward compatible change.
    \nRevised implemenentation, added comments, made some parameter in the instances final.\n
  • \n
  • July 18, 2016, by Philipp Mehrfeld:
    \nAdded integrator reset.\nThis is for issue 494.\n
  • \n
  • \nMarch 15, 2016, by Michael Wetter:
    \nChanged the default value to strict=true in order to avoid events\nwhen the controller saturates.\nThis is for issue 433.\n
  • \n
  • \nFebruary 24, 2010, by Michael Wetter:
    \nFirst implementation.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo", - "checksum": "40f9c903ceb35cd84af41063340a4076" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.json deleted file mode 100644 index cad1f366..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.json +++ /dev/null @@ -1,392 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Reals.Sources", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "Constant", - "description_string": "Output constant signal of type Real", - "composition": { - "element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "k" - }, - "description": { - "description_string": "Constant output value" - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Real output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": "k" - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"con\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 110 - }, - { - "x": 150, - "y": 150 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 68 - }, - { - "x": -80, - "y": -80 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -80, - "y": 90 - }, - { - "x": -88, - "y": 68 - }, - { - "x": -72, - "y": 68 - }, - { - "x": -80, - "y": 90 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -90, - "y": -70 - }, - { - "x": 82, - "y": -70 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 90, - "y": -70 - }, - { - "x": 68, - "y": -62 - }, - { - "x": 68, - "y": -78 - }, - { - "x": 90, - "y": -70 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 0 - }, - { - "x": 80, - "y": 0 - } - ] - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": -150 - }, - { - "x": 150, - "y": -110 - } - ], - "textString": ",textString=", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 226, - "y": 60 - }, - { - "x": 106, - "y": 10 - } - ], - "textString": "DynamicSelect(\"\",String(y", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs a constant signal y = k,\nwhere k is a real-valued parameter.\n

\n

\n\\\"Constant.png\\\"\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nMarch 16, 2017, by Jianjun Hu:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Sources/Constant.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.mo", - "checksum": "963f004099515bac4aafd5caef5d06e9" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Subtract.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Subtract.json deleted file mode 100644 index 6b6e823b..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Subtract.json +++ /dev/null @@ -1,421 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Reals", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "Subtract", - "description_string": "Output the difference of the two inputs", - "composition": { - "element_list": [ - { - "component_clause": { - "type_specifier": "Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Connector of Real input signal 1", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 40 - }, - { - "x": -100, - "y": 80 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Connector of Real input signal 2", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -80 - }, - { - "x": -100, - "y": -40 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Real output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": "u1 -u2" - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"sub\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs y as the difference of the\ntwo input signals u1 and u2,\n

\n
\n    y = u1 - u2\n
\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJanuary 28, 2022, by Jianjun Hu:
    \nFirst implementation.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -50, - "y": -50 - }, - { - "x": 50, - "y": 50 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -100, - "y": 60 - }, - { - "x": -74, - "y": 24 - }, - { - "x": -44, - "y": 24 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -100, - "y": -60 - }, - { - "x": -74, - "y": -28 - }, - { - "x": -42, - "y": -28 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 50, - "y": 0 - }, - { - "x": 100, - "y": 0 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -38, - "y": -28 - }, - { - "x": 38, - "y": 40 - } - ], - "textString": "\"-\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 226, - "y": 60 - }, - { - "x": 106, - "y": 10 - } - ], - "textString": "DynamicSelect(\"\",String(y", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Subtract.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Subtract.mo", - "checksum": "704ee76cb193e3cc441ec5e59e454ee6" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Switch.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Switch.json deleted file mode 100644 index 0f17fd68..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Switch.json +++ /dev/null @@ -1,562 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Reals", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "Switch", - "description_string": "Switch between two Real signals", - "composition": { - "element_list": [ - { - "component_clause": { - "type_specifier": "Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Real input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 60 - }, - { - "x": -100, - "y": 100 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanInput", - "component_list": [ - { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Boolean switch input signal, if true, y=u1, else y=u3", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u3" - }, - "description": { - "description_string": "Real input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.RealOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Real output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "equation": [ - { - "assignment_equation": { - "lhs": "y", - "rhs": { - "simple_expression": { - "function_call": { - "name": "smooth", - "arguments": [ - { - "name": "0" - }, - { - "name": "if u2 then u1 else u3" - } - ] - } - } - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"swi\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs one of two real input signals based on a boolean input signal.\n

\n

\nIf the input signal u2 is true,\nthe block outputs y = u1.\nOtherwise, it outputs y = u3.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nFebruary 27, 2023, by Michael Wetter:
    \nAdded smoothOrder(0, ...) as Dymola 2023x assumes y to be\nsmooth, and simulations can then fail if it differentiated this output.\n
  • \n
  • \nJuly 17, 2020, by Jianjun Hu:
    \nChanged icon to display dynamically which input signal is being outputted.
    \nThis is for\n# 2033.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 12, - "y": 0 - }, - { - "x": 100, - "y": 0 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -100, - "y": 0 - }, - { - "x": -40, - "y": 0 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -100, - "y": -80 - }, - { - "x": -40, - "y": -80 - }, - { - "x": -40, - "y": -80 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -40, - "y": 12 - }, - { - "x": -40, - "y": -12 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -100, - "y": 80 - }, - { - "x": -40, - "y": 80 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 10, - "y": 0 - }, - { - "x": -40, - "y": 80 - }, - { - "x": null, - "y": null - }, - { - "x": 10, - "y": 0 - }, - { - "x": -40, - "y": 80 - }, - { - "x": -40, - "y": -80 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - }, - "thickness": 1 - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 2, - "y": -8 - }, - { - "x": 18, - "y": 8 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 255 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -71, - "y": 7 - }, - { - "x": -85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -90, - "y": 80 - }, - { - "x": -46, - "y": 54 - } - ], - "textString": "\"true\"", - "textColor": { - "r": 0, - "g": 0, - "b": null - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -90, - "y": -46 - }, - { - "x": -38, - "y": -76 - } - ], - "textString": "\"false\"", - "textColor": { - "r": 0, - "g": 0, - "b": null - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Switch.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Switch.mo", - "checksum": "e1a8e8bf86041c305c355af896a29ade" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Types/SimpleController.json b/test/reference/json/Buildings/Controls/OBC/CDL/Types/SimpleController.json deleted file mode 100644 index cd6d98e7..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Types/SimpleController.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Types", - "class_definition": [ - { - "class_prefixes": "type", - "class_specifier": { - "short_class_specifier": { - "identifier": "SimpleController", - "value": { - "description": { - "description_string": "Enumeration defining P, PI, PD, or PID simple controller type", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nEnumeration to define the type of the controller.\nPossible values are:\n

\n\n\n\n\n\n\n\n\n\n\n\n\n
EnumerationDescription
P\nController with proportional term.\n
PI\nController with proportional and integral terms.\n
PD\nController with proportional and derivative term.\n
PID\nController with proportional, integral and derivative terms.\n
\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMarch 23, 2017, by Jianjun Hu:
    \nFirst implementation.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Types/SimpleController.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Types/SimpleController.mo", - "checksum": "364ff20803d823cd1fd1233fcbb7a478" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Utilities/Assert.json b/test/reference/json/Buildings/Controls/OBC/CDL/Utilities/Assert.json deleted file mode 100644 index 1ecaeae0..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Utilities/Assert.json +++ /dev/null @@ -1,339 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Utilities", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "Assert", - "description_string": "Print a warning message when input becomes false", - "composition": { - "element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "String", - "component_list": [ - { - "declaration": { - "identifier": "message" - }, - "description": { - "description_string": "Message written when u becomes false" - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", - "component_list": [ - { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Boolean input that triggers assert when it becomes false", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "equation": [ - { - "function_call_equation": { - "function_name": "assert", - "function_call_args": { - "function_argument": { - "expression": { - "simple_expression": "u" - } - }, - "function_arguments": { - "function_argument": { - "expression": { - "simple_expression": "message" - } - }, - "function_arguments": { - "function_argument": { - "expression": { - "simple_expression": "AssertionLevel.warning" - } - } - } - } - } - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"assMes\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 80 - }, - { - "x": -80, - "y": -60 - }, - { - "x": 80, - "y": -60 - }, - { - "x": 0, - "y": 80 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -100, - "y": 160 - }, - { - "x": 100, - "y": 106 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 72 - }, - { - "x": -72, - "y": -56 - }, - { - "x": 72, - "y": -56 - }, - { - "x": 0, - "y": 72 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 170 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -4, - "y": 38 - }, - { - "x": 2, - "y": -24 - } - ], - "fillColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -6, - "y": -32 - }, - { - "x": 4, - "y": -42 - } - ], - "fillColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that writes a warning if the input becomes false.\n

\n

\nTools or control systems are expected to write message together\nwith a time stamp to an output device and/or a log file.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nNovember 6, 2017, by Michael Wetter:
    \nSimplified implementation.\n
  • \n
  • \nNovember 3, 2017, by Jianjun Hu:
    \nFirst implementation.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Utilities/Assert.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Utilities/Assert.mo", - "checksum": "bcd142f74409ef17549d475796277044" -} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/Block1.json b/test/reference/json/test/FromModelica/Block1.json index 58df2da6..6892fc10 100644 --- a/test/reference/json/test/FromModelica/Block1.json +++ b/test/reference/json/test/FromModelica/Block1.json @@ -1,17 +1 @@ -{ - "within": "FromModelica", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "Block1", - "description_string": "A block that instantiates nothing" - } - } - } - ], - "modelicaFile": "test/FromModelica/Block1.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Block1.mo", - "checksum": "0ac032b3cd1dc28b1ce78d31c2b74fc8" -} \ No newline at end of file +{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"Block1","description_string":"A block that instantiates nothing"}}}],"modelicaFile":"test/FromModelica/Block1.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Block1.mo","checksum":"0ac032b3cd1dc28b1ce78d31c2b74fc8"} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/MisplacedInfoWithEquation.json b/test/reference/json/test/FromModelica/MisplacedInfoWithEquation.json index fcf55951..922bc5f6 100644 --- a/test/reference/json/test/FromModelica/MisplacedInfoWithEquation.json +++ b/test/reference/json/test/FromModelica/MisplacedInfoWithEquation.json @@ -1 +1 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"MisplacedInfoWithEquation","description_string":"A block that places info section in equation section","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}},"description":{"description_string":"Constant gain"}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u"},"description":{"description_string":"Input signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y1"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y2"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","component_list":[{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":0,"y":-10},{"x":20,"y":10}]}}}}}]}}]}}],"element_sections":[{"equation_section":{"equation":[{"connect_clause":{"from":[{"dot_op":false,"identifier":"u"}],"to":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":0},{"x":-2,"y":0}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"y"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":22,"y":0},{"x":110,"y":0}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"assignment_equation":{"lhs":"y2","rhs":{"simple_expression":"k*u"}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nBlock that outputs y = 2 * u.\n

\n\""}}}}}]}}}}]}}]}}]}}}}],"modelicaFile":"test/FromModelica/MisplacedInfoWithEquation.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo","checksum":"0b4780e5bcefa5651cdf3c7abfe2b68f"} \ No newline at end of file +{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"MisplacedInfoWithEquation","description_string":"A block that places info section in equation section","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}},"description":{"description_string":"Constant gain"}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u"},"description":{"description_string":"Input signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y1"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y2"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","component_list":[{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":0,"y":-10},{"x":20,"y":10}]}}}}}]}}]}}],"element_sections":[{"equation_section":{"equation":[{"connect_clause":{"from":[{"dot_op":false,"identifier":"u"}],"to":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":0},{"x":-2,"y":0}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"y1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":22,"y":0},{"x":110,"y":0}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"assignment_equation":{"lhs":"y2","rhs":{"simple_expression":"k*u"}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nBlock that outputs y = 2 * u.\n

\n\""}}}}}]}}}}]}}]}}]}}}}],"modelicaFile":"test/FromModelica/MisplacedInfoWithEquation.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo","checksum":"8fb1bb97ff8f9749ff975e699fc5f359"} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/MyController.json b/test/reference/json/test/FromModelica/MyController.json index a656b24a..a500e961 100644 --- a/test/reference/json/test/FromModelica/MyController.json +++ b/test/reference/json/test/FromModelica/MyController.json @@ -1,948 +1 @@ -{ - "within": "FromModelica", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "MyController", - "description_string": "My controller", - "composition": { - "element_list": [ - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Real input 1", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 20 - }, - { - "x": -100, - "y": 60 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": -140, - "y": 40 - }, - { - "x": -100, - "y": 80 - } - ] - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "connection", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "hardwired", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "trend", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "interval", - "modification": { - "equal": true, - "expression": { - "simple_expression": "60" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Real input 2", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -60 - }, - { - "x": -100, - "y": -20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": -140, - "y": -80 - }, - { - "x": -100, - "y": -40 - } - ] - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "connection", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "hardwired", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "trend", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "interval", - "modification": { - "equal": true, - "expression": { - "simple_expression": "60" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Real output", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "connection", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "hardwired", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "trend", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "interval", - "modification": { - "equal": true, - "expression": { - "simple_expression": "60" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", - "component_list": [ - { - "declaration": { - "identifier": "add2" - }, - "description": { - "description_string": "Add two real inputs", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -10, - "y": -10 - }, - { - "x": 10, - "y": 10 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "SubController", - "component_list": [ - { - "declaration": { - "identifier": "subCon1" - }, - "description": { - "description_string": "Sub controller", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -10, - "y": -50 - }, - { - "x": 10, - "y": -30 - } - ] - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "generatePointlist", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "SubController", - "component_list": [ - { - "declaration": { - "identifier": "subCon2" - }, - "description": { - "description_string": "Sub controller", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -10, - "y": -90 - }, - { - "x": 10, - "y": -70 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "equation_section": { - "equation": [ - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "u1" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "add2" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u1" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -120, - "y": 40 - }, - { - "x": -60, - "y": 40 - }, - { - "x": -60, - "y": 6 - }, - { - "x": -12, - "y": 6 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "u2" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "add2" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u2" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -120, - "y": -40 - }, - { - "x": -60, - "y": -40 - }, - { - "x": -60, - "y": -6 - }, - { - "x": -12, - "y": -6 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "add2" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 12, - "y": 0 - }, - { - "x": 120, - "y": 0 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "u2" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "subCon1" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -120, - "y": -40 - }, - { - "x": -12, - "y": -40 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "u2" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "subCon2" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -120, - "y": -40 - }, - { - "x": -60, - "y": -40 - }, - { - "x": -60, - "y": -80 - }, - { - "x": -12, - "y": -80 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "generatePointlist", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "controlledDevice", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"My Device\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"myCon\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "preserveAspectRatio": "false" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": 140 - } - ], - "textString": "\"%name\"", - "lineColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "preserveAspectRatio": "false" - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "test/FromModelica/MyController.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo", - "checksum": "d8525177795dcf71b5b5440c2151224a" -} \ No newline at end of file +{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"MyController","description_string":"My controller","composition":{"element_list":[{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","component_list":[{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}}]}},{"component_clause":{"type_specifier":"SubController","component_list":[{"declaration":{"identifier":"subCon1"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"SubController","component_list":[{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}}]}}],"element_sections":[{"equation_section":{"equation":[{"connect_clause":{"from":[{"dot_op":false,"identifier":"u1"}],"to":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":40},{"x":-60,"y":40},{"x":-60,"y":6},{"x":-12,"y":6}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-60,"y":-40},{"x":-60,"y":-6},{"x":-12,"y":-6}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"y"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":12,"y":0},{"x":120,"y":0}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"subCon1"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-12,"y":-40}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"subCon2"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-60,"y":-40},{"x":-60,"y":-80},{"x":-12,"y":-80}],"color":{"r":0,"g":0,"b":127}}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/MyController.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo","checksum":"d8525177795dcf71b5b5440c2151224a"} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/MyControllerWithSemantics.json b/test/reference/json/test/FromModelica/MyControllerWithSemantics.json index 2398023d..94a697c2 100644 --- a/test/reference/json/test/FromModelica/MyControllerWithSemantics.json +++ b/test/reference/json/test/FromModelica/MyControllerWithSemantics.json @@ -1 +1 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"MyControllerWithSemantics","description_string":"My controller with semantics","composition":{"element_list":[{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Temperature_Sensor ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","component_list":[{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}}]}},{"component_clause":{"type_specifier":"SubController","component_list":[{"declaration":{"identifier":"heaCoi"},"description":{"description_string":"Heating Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Heating_Coil ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a heating coil."}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"SubControllerWithSemantics","component_list":[{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Cooling Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}}]}}],"element_sections":[{"equation_section":{"equation":[{"connect_clause":{"from":[{"dot_op":false,"identifier":"u1"}],"to":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":40},{"x":-60,"y":40},{"x":-60,"y":6},{"x":-12,"y":6}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-60,"y":-40},{"x":-60,"y":-6},{"x":-12,"y":-6}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"y"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":12,"y":0},{"x":120,"y":0}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"subCon1"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-12,"y":-40}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"subCon2"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-60,"y":-40},{"x":-60,"y":-80},{"x":-12,"y":-80}],"color":{"r":0,"g":0,"b":127}}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . "}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/MyControllerWithSemantics.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo","checksum":"30035da8ee2c53cf2d9e888782dddd55"} \ No newline at end of file +{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"MyControllerWithSemantics","description_string":"My controller with semantics","composition":{"element_list":[{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Temperature_Sensor ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","component_list":[{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}}]}},{"component_clause":{"type_specifier":"SubController","component_list":[{"declaration":{"identifier":"heaCoi"},"description":{"description_string":"Heating Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Heating_Coil ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a heating coil."}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"SubControllerWithSemantics","component_list":[{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Cooling Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}}]}}],"element_sections":[{"equation_section":{"equation":[{"connect_clause":{"from":[{"dot_op":false,"identifier":"u1"}],"to":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":40},{"x":-60,"y":40},{"x":-60,"y":6},{"x":-12,"y":6}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-60,"y":-40},{"x":-60,"y":-6},{"x":-12,"y":-6}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"y"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":12,"y":0},{"x":120,"y":0}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"heaCoi"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-12,"y":-40}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"subCon2"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-60,"y":-40},{"x":-60,"y":-80},{"x":-12,"y":-80}],"color":{"r":0,"g":0,"b":127}}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . "}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/MyControllerWithSemantics.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo","checksum":"b95835e212fdb0daca282b55acf9e1bf"} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/SubController.json b/test/reference/json/test/FromModelica/SubController.json index 732ed62b..5f57f3e8 100644 --- a/test/reference/json/test/FromModelica/SubController.json +++ b/test/reference/json/test/FromModelica/SubController.json @@ -1,410 +1 @@ -{ - "within": "FromModelica", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "SubController", - "description_string": "Subsequence", - "composition": { - "element_list": [ - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Real input", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "connection", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "hardwired", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "trend", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "interval", - "modification": { - "equal": true, - "expression": { - "simple_expression": "60" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Real output", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "connection", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "hardwired", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "trend", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "interval", - "modification": { - "equal": true, - "expression": { - "simple_expression": "60" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "generatePointlist", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "controlledDevice", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Sub Device\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"subCon\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "preserveAspectRatio": "false" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": 140 - } - ], - "textString": "\"%name\"", - "lineColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "preserveAspectRatio": "false" - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "test/FromModelica/SubController.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo", - "checksum": "38c289724f1c7e4b77eaf836a931110c" -} \ No newline at end of file +{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"SubController","description_string":"Subsequence","composition":{"element_list":[{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Sub Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"subCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/SubController.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo","checksum":"38c289724f1c7e4b77eaf836a931110c"} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/SubControllerWithSemantics.json b/test/reference/json/test/FromModelica/SubControllerWithSemantics.json index fd7049a7..2cbecb03 100644 --- a/test/reference/json/test/FromModelica/SubControllerWithSemantics.json +++ b/test/reference/json/test/FromModelica/SubControllerWithSemantics.json @@ -1,446 +1 @@ -{ - "within": "FromModelica", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "SubControllerWithSemantics", - "description_string": "Subsequence with class definition Semantics", - "composition": { - "element_list": [ - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "component_list": [ - { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Real input", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "connection", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "hardwired", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "trend", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "interval", - "modification": { - "equal": true, - "expression": { - "simple_expression": "60" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Real output", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "connection", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "hardwired", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "trend", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "interval", - "modification": { - "equal": true, - "expression": { - "simple_expression": "60" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ] - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "generatePointlist", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "controlledDevice", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Sub Device\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"subCon\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "preserveAspectRatio": "false" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": 140 - } - ], - "textString": "\"%name\"", - "lineColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "preserveAspectRatio": "false" - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "semantic", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "metadataLanguage", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Brick 1.3 text/turtle\"" - } - }, - "description_string": "@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . " - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "test/FromModelica/SubControllerWithSemantics.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo", - "checksum": "4bf6e54db7eee06827ce2fb950e39cd8" -} \ No newline at end of file +{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"SubControllerWithSemantics","description_string":"Subsequence with class definition Semantics","composition":{"element_list":[{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Sub Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"subCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . "}}}]}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/SubControllerWithSemantics.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo","checksum":"4bf6e54db7eee06827ce2fb950e39cd8"} \ No newline at end of file diff --git a/test/reference/objects/Brick/1.3/test/FromModelica/MyControllerWithSemantics.ttl b/test/reference/objects/Brick/1.3/test/FromModelica/MyControllerWithSemantics.ttl index c2f44587..a12762f9 100644 --- a/test/reference/objects/Brick/1.3/test/FromModelica/MyControllerWithSemantics.ttl +++ b/test/reference/objects/Brick/1.3/test/FromModelica/MyControllerWithSemantics.ttl @@ -3,7 +3,5 @@ a Brick:Heating_Coil. - a Brick:Cooling_Coil. - a Brick:Temperature_Sensor. diff --git a/test/reference/objects/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.json b/test/reference/objects/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.json deleted file mode 100644 index f695718b..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.json +++ /dev/null @@ -1,1835 +0,0 @@ -{ - "instances": { - "CoolingCoil": { - "within": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"cooCoi\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "preserveAspectRatio": "false" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "preserveAspectRatio": "false" - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nThis block outputs the cooling coil control signal if the fan is on and the zone is\nin cooling status (see\n\nBuildings.Controls.OBC.ASHRAE.G36.Types.ZoneStates).\nOtherwise, the control signal for the coil is set to 0.\nThe implementation is according to the Section 5.18.5.3 of ASHRAE Guideline 36, May 2020.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nAugust 1, 2020, by Jianjun Hu:
    \nFirst implementation based on G36 official version.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "controllerTypeCooCoi": { - "type_prefix": "parameter", - "type_specifier": "Buildings.Controls.OBC.CDL.Types.SimpleController", - "type": "element", - "long_class_specifier_identifier": "CoolingCoil", - "single_component_list": { - "declaration": { - "identifier": "controllerTypeCooCoi", - "modification": { - "equal": true, - "expression": { - "simple_expression": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" - } - } - }, - "description": { - "description_string": "Type of controller", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "ValueInReference", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Cooling coil loop signal\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "ValueInReference", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Cooling coil loop signal\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo" - }, - "kCooCoi": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "CoolingCoil", - "single_component_list": { - "declaration": { - "identifier": "kCooCoi", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"1/K\"" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0.1" - } - } - }, - "description": { - "description_string": "Gain for cooling coil control loop signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "ValueInReference", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Cooling coil loop signal\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "ValueInReference", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Cooling coil loop signal\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo" - }, - "TiCooCoi": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "CoolingCoil", - "single_component_list": { - "declaration": { - "identifier": "TiCooCoi", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "900" - } - } - }, - "description": { - "description_string": "Time constant of integrator block for cooling coil control loop signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "ValueInReference", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Cooling coil loop signal\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerTypeCooCoi" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerTypeCooCoi" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "ValueInReference", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Cooling coil loop signal\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerTypeCooCoi" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerTypeCooCoi" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo" - }, - "TdCooCoi": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "CoolingCoil", - "single_component_list": { - "declaration": { - "identifier": "TdCooCoi", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0.1" - } - } - }, - "description": { - "description_string": "Time constant of derivative block for cooling coil control loop signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "ValueInReference", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Cooling coil loop signal\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerTypeCooCoi" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerTypeCooCoi" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "ValueInReference", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Cooling coil loop signal\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerTypeCooCoi" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerTypeCooCoi" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo" - }, - "TSupCooSet": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "CoolingCoil", - "single_component_list": { - "declaration": { - "identifier": "TSupCooSet", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"K\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "displayUnit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"degC\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"ThermodynamicTemperature\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Cooling supply air temperature setpoint", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 60 - }, - { - "x": -100, - "y": 100 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 60 - }, - { - "x": -100, - "y": 100 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo" - }, - "TAirSup": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "CoolingCoil", - "single_component_list": { - "declaration": { - "identifier": "TAirSup", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"K\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "displayUnit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"degC\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"ThermodynamicTemperature\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Supply air temperature measurement", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 20 - }, - { - "x": -100, - "y": 60 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 20 - }, - { - "x": -100, - "y": 60 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo" - }, - "uZonSta": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.IntegerInput", - "type": "element", - "long_class_specifier_identifier": "CoolingCoil", - "single_component_list": { - "declaration": { - "identifier": "uZonSta" - }, - "description": { - "description_string": "Zone state", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -40 - }, - { - "x": -100, - "y": 0 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": -140, - "y": -60 - }, - { - "x": -100, - "y": -20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -40 - }, - { - "x": -100, - "y": 0 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": -140, - "y": -60 - }, - { - "x": -100, - "y": -20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo" - }, - "u1SupFan": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", - "type": "element", - "long_class_specifier_identifier": "CoolingCoil", - "single_component_list": { - "declaration": { - "identifier": "u1SupFan" - }, - "description": { - "description_string": "Supply fan proven on", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo" - }, - "yCooCoi": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", - "type": "element", - "long_class_specifier_identifier": "CoolingCoil", - "single_component_list": { - "declaration": { - "identifier": "yCooCoi" - }, - "description": { - "description_string": "Cooling coil valve commanded position", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo" - }, - "conCoi": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.PIDWithReset", - "type": "element", - "long_class_specifier_identifier": "CoolingCoil", - "single_component_list": { - "declaration": { - "identifier": "conCoi", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "controllerType", - "modification": { - "equal": true, - "expression": { - "simple_expression": "controllerTypeCooCoi" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "kCooCoi" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "Ti", - "modification": { - "equal": true, - "expression": { - "simple_expression": "TiCooCoi" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "Td", - "modification": { - "equal": true, - "expression": { - "simple_expression": "TdCooCoi" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "reverseActing", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Cooling coil control signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -10, - "y": 70 - }, - { - "x": 10, - "y": 90 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -10, - "y": 70 - }, - { - "x": 10, - "y": 90 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo" - }, - "intEqu": { - "type_specifier": "Buildings.Controls.OBC.CDL.Integers.Equal", - "type": "element", - "long_class_specifier_identifier": "CoolingCoil", - "single_component_list": { - "declaration": { - "identifier": "intEqu" - }, - "description": { - "description_string": "Logical block to check if zone is in cooling state", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -40, - "y": -10 - }, - { - "x": -20, - "y": 10 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -40, - "y": -10 - }, - { - "x": -20, - "y": 10 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo" - }, - "conInt": { - "type_specifier": "Buildings.Controls.OBC.CDL.Integers.Sources.Constant", - "type": "element", - "long_class_specifier_identifier": "CoolingCoil", - "single_component_list": { - "declaration": { - "identifier": "conInt", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "Buildings.Controls.OBC.ASHRAE.G36.Types.ZoneStates.cooling" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Cooling state value", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -80, - "y": -10 - }, - { - "x": -60, - "y": 10 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -80, - "y": -10 - }, - { - "x": -60, - "y": 10 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo" - }, - "switch": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Switch", - "type": "element", - "long_class_specifier_identifier": "CoolingCoil", - "single_component_list": { - "declaration": { - "identifier": "switch" - }, - "description": { - "description_string": "Switch to assign cooling coil control signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 72, - "y": -10 - }, - { - "x": 92, - "y": 10 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 72, - "y": -10 - }, - { - "x": 92, - "y": 10 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo" - }, - "const": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", - "type": "element", - "long_class_specifier_identifier": "CoolingCoil", - "single_component_list": { - "declaration": { - "identifier": "const", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Cooling off mode", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 20, - "y": -50 - }, - { - "x": 40, - "y": -30 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 20, - "y": -50 - }, - { - "x": 40, - "y": -30 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo" - }, - "and2": { - "type_specifier": "Buildings.Controls.OBC.CDL.Logical.And", - "type": "element", - "long_class_specifier_identifier": "CoolingCoil", - "single_component_list": { - "declaration": { - "identifier": "and2" - }, - "description": { - "description_string": "Conditions for cooling state", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 0, - "y": -10 - }, - { - "x": 20, - "y": 10 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 0, - "y": -10 - }, - { - "x": 20, - "y": 10 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo" - } - }, - "requiredReferences": { - "connections": { - "const.y": [ - "switch.u3" - ], - "conCoi.trigger": [ - "u1SupFan" - ], - "conCoi.u_s": [ - "TSupCooSet" - ], - "conCoi.u_m": [ - "TAirSup" - ], - "switch.y": [ - "yCooCoi" - ], - "intEqu.y": [ - "and2.u1" - ], - "and2.u2": [ - "u1SupFan" - ], - "and2.y": [ - "switch.u2" - ], - "conInt.y": [ - "intEqu.u1" - ], - "uZonSta": [ - "intEqu.u2" - ], - "conCoi.y": [ - "switch.u1" - ] - } - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Constants.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Constants.json deleted file mode 100644 index f10877f8..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Constants.json +++ /dev/null @@ -1,396 +0,0 @@ -{ - "instances": { - "Constants": { - "within": "Buildings.Controls.OBC.CDL", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Constants.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nThis package provides often needed constants.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMarch 27, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "radius": 25, - "lineColor": { - "r": 200, - "g": 200, - "b": 200 - }, - "fillColor": { - "r": 248, - "g": 248, - "b": 248 - }, - "fillPattern": "FillPattern.HorizontalCylinder" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 48.017, - "y": 11.336 - }, - { - "x": 48.017, - "y": 11.336 - }, - { - "x": 10.766, - "y": 11.336 - }, - { - "x": -25.684, - "y": 10.95 - }, - { - "x": -34.944, - "y": -15.111 - }, - { - "x": -34.944, - "y": -15.111 - }, - { - "x": -32.298, - "y": -15.244 - }, - { - "x": -32.298, - "y": -15.244 - }, - { - "x": -22.112, - "y": 0.168 - }, - { - "x": 11.292, - "y": 0.234 - }, - { - "x": 48.267, - "y": -0.097 - }, - { - "x": 48.267, - "y": -0.097 - } - ], - "smooth": "Smooth.Bezier", - "origin": { - "x": -9.2597, - "y": 25.6673 - }, - "fillColor": { - "r": 102, - "g": 102, - "b": 102 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 3.239, - "y": 37.343 - }, - { - "x": 3.305, - "y": 37.343 - }, - { - "x": -0.399, - "y": 2.683 - }, - { - "x": -16.936, - "y": -20.071 - }, - { - "x": -7.808, - "y": -28.604 - }, - { - "x": 6.811, - "y": -22.519 - }, - { - "x": 9.986, - "y": 37.145 - }, - { - "x": 9.986, - "y": 37.145 - } - ], - "smooth": "Smooth.Bezier", - "origin": { - "x": -19.9923, - "y": -8.3993 - }, - "fillColor": { - "r": 102, - "g": 102, - "b": 102 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -10.873, - "y": 41.478 - }, - { - "x": -10.873, - "y": 41.478 - }, - { - "x": -14.048, - "y": -4.162 - }, - { - "x": -9.352, - "y": -24.8 - }, - { - "x": 7.912, - "y": -24.469 - }, - { - "x": 16.247, - "y": 0.27 - }, - { - "x": 16.247, - "y": 0.27 - }, - { - "x": 13.336, - "y": 0.071 - }, - { - "x": 13.336, - "y": 0.071 - }, - { - "x": 7.515, - "y": -9.983 - }, - { - "x": -3.134, - "y": -7.271 - }, - { - "x": -2.671, - "y": 41.214 - }, - { - "x": -2.671, - "y": 41.214 - } - ], - "smooth": "Smooth.Bezier", - "origin": { - "x": 23.753, - "y": -11.5422 - }, - "fillColor": { - "r": 102, - "g": 102, - "b": 102 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "radius": 25, - "lineColor": { - "r": 128, - "g": 128, - "b": 128 - } - } - } - ] - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "eps": { - "type_prefix": "constant", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "Constants", - "single_component_list": { - "declaration": { - "identifier": "eps", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1e-15" - } - } - }, - "description": { - "description_string": "Biggest number such that 1.0 + eps = 1.0" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Constants.mo" - }, - "small": { - "type_prefix": "constant", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "Constants", - "single_component_list": { - "declaration": { - "identifier": "small", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1e-60" - } - } - }, - "description": { - "description_string": "Smallest number such that small and -small are representable on the machine" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Constants.mo" - }, - "pi": { - "type_prefix": "constant", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "Constants", - "single_component_list": { - "declaration": { - "identifier": "pi", - "modification": { - "equal": true, - "expression": { - "simple_expression": "2*Modelica.Math.asin(1)" - } - } - }, - "description": { - "description_string": "Constant number pi, 3.14159265358979" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Constants.mo" - } - }, - "requiredReferences": {} -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Integers/Equal.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Integers/Equal.json deleted file mode 100644 index f0f13efe..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Integers/Equal.json +++ /dev/null @@ -1,423 +0,0 @@ -{ - "instances": { - "Equal": { - "within": "Buildings.Controls.OBC.CDL.Integers", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Integers/Equal.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"intEqu\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "false" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 73, - "y": 7 - }, - { - "x": 87, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 32, - "y": 10 - }, - { - "x": 52, - "y": -10 - } - ], - "lineColor": { - "r": 255, - "g": 127, - "b": 0 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -100, - "y": -80 - }, - { - "x": 42, - "y": -80 - }, - { - "x": 42, - "y": 0 - } - ], - "color": { - "r": 255, - "g": 127, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -76, - "y": -36 - }, - { - "x": 20, - "y": 54 - } - ], - "textString": ",textString=", - "textColor": { - "r": 255, - "g": 127, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs true if the Integer input u1\nis equal to the Integer input u2.\nOtherwise the output is false.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nAugust 30, 2017, by Jianjun Hu:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "u1": { - "type_specifier": "Interfaces.IntegerInput", - "type": "element", - "long_class_specifier_identifier": "Equal", - "single_component_list": { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Connector of first Integer input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Integers", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Integers/Equal.mo" - }, - "u2": { - "type_specifier": "Interfaces.IntegerInput", - "type": "element", - "long_class_specifier_identifier": "Equal", - "single_component_list": { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Connector of second Integer input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Integers", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Integers/Equal.mo" - }, - "y": { - "type_specifier": "Interfaces.BooleanOutput", - "type": "element", - "long_class_specifier_identifier": "Equal", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Integers", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Integers/Equal.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json deleted file mode 100644 index 245f50ff..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json +++ /dev/null @@ -1,359 +0,0 @@ -{ - "instances": { - "Constant": { - "within": "Buildings.Controls.OBC.CDL.Integers.Sources", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"conInt\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 255, - "g": 127, - "b": 0 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 68 - }, - { - "x": -80, - "y": -80 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -80, - "y": 90 - }, - { - "x": -88, - "y": 68 - }, - { - "x": -72, - "y": 68 - }, - { - "x": -80, - "y": 90 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -90, - "y": -70 - }, - { - "x": 82, - "y": -70 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 90, - "y": -70 - }, - { - "x": 68, - "y": -62 - }, - { - "x": 68, - "y": -78 - }, - { - "x": 90, - "y": -70 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 0 - }, - { - "x": 80, - "y": 0 - } - ] - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": -150 - }, - { - "x": 150, - "y": -110 - } - ], - "textString": ",textString=", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs a constant signal y = k,\nwhere k is an Integer-valued parameter.\n

\n\n

\n\\\"IntegerConstant.png\\\"\n

\n\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "k": { - "type_prefix": "parameter", - "type_specifier": "Integer", - "type": "element", - "long_class_specifier_identifier": "Constant", - "single_component_list": { - "declaration": { - "identifier": "k" - }, - "description": { - "description_string": "Constant output value" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Integers.Sources", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.mo" - }, - "y": { - "type_specifier": "Interfaces.IntegerOutput", - "type": "element", - "long_class_specifier_identifier": "Constant", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Integer output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Integers.Sources", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/BooleanInput.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/BooleanInput.json deleted file mode 100644 index bb89ee5c..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/BooleanInput.json +++ /dev/null @@ -1,233 +0,0 @@ -{ - "instances": { - "BooleanInput": { - "type": "short_class_specifier", - "type_specifier": "Boolean", - "short_class_specifier_value": { - "base_prefix": "input", - "name": "Boolean", - "description": { - "description_string": "Boolean input connector", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"u\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 50 - }, - { - "x": 100, - "y": 0 - }, - { - "x": 0, - "y": -50 - } - ], - "lineColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 50 - }, - { - "x": 100, - "y": 0 - }, - { - "x": 0, - "y": -50 - }, - { - "x": 0, - "y": 50 - } - ], - "lineColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -10, - "y": 85 - }, - { - "x": -10, - "y": 60 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nConnector with one input signal of type Boolean.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMarch 1, 2019, by Michael Wetter:
    \nOn the icon layer, changed connector size and added the connector name.
    \nThis is for\nissue 1375.\n
  • \n
  • \nJanuary 6, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "within": "Buildings.Controls.OBC.CDL.Interfaces", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/BooleanInput.mo" - } - }, - "requiredReferences": {} -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/BooleanOutput.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/BooleanOutput.json deleted file mode 100644 index 4cab10d7..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/BooleanOutput.json +++ /dev/null @@ -1,233 +0,0 @@ -{ - "instances": { - "BooleanOutput": { - "type": "short_class_specifier", - "type_specifier": "Boolean", - "short_class_specifier_value": { - "base_prefix": "output", - "name": "Boolean", - "description": { - "description_string": "Boolean output connector", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"y\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -100, - "y": 50 - }, - { - "x": 0, - "y": 0 - }, - { - "x": -100, - "y": -50 - } - ], - "lineColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -100, - "y": 50 - }, - { - "x": 0, - "y": 0 - }, - { - "x": -100, - "y": -50 - }, - { - "x": -100, - "y": 50 - } - ], - "lineColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 30, - "y": 110 - }, - { - "x": 30, - "y": 60 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nConnector with one output signal of type Boolean.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJuly 19, 2019, by Jianjun Hu:
    \nOn both icon and diagram layer, added the initialScale.
    \nThis is for\nissue 1375.\n
  • \n
  • \nMarch 1, 2019, by Michael Wetter:
    \nOn the icon layer, changed connector size and added the connector name.
    \nThis is for\nissue 1375.\n
  • \n
  • \nJanuary 6, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "within": "Buildings.Controls.OBC.CDL.Interfaces", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/BooleanOutput.mo" - } - }, - "requiredReferences": {} -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/IntegerInput.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/IntegerInput.json deleted file mode 100644 index d30b020c..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/IntegerInput.json +++ /dev/null @@ -1,233 +0,0 @@ -{ - "instances": { - "IntegerInput": { - "type": "short_class_specifier", - "type_specifier": "Integer", - "short_class_specifier_value": { - "base_prefix": "input", - "name": "Integer", - "description": { - "description_string": "Integer input connector", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"u\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 50 - }, - { - "x": 100, - "y": 0 - }, - { - "x": 0, - "y": -50 - } - ], - "lineColor": { - "r": 255, - "g": 127, - "b": 0 - }, - "fillColor": { - "r": 255, - "g": 127, - "b": 0 - }, - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 50 - }, - { - "x": 100, - "y": 0 - }, - { - "x": 0, - "y": -50 - }, - { - "x": 0, - "y": 50 - } - ], - "lineColor": { - "r": 255, - "g": 127, - "b": 0 - }, - "fillColor": { - "r": 255, - "g": 127, - "b": 0 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -10, - "y": 85 - }, - { - "x": -10, - "y": 60 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 255, - "g": 127, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nConnector with one input signal of type Integer.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMarch 1, 2019, by Michael Wetter:
    \nOn the icon layer, changed connector size and added the connector name.
    \nThis is for\nissue 1375.\n
  • \n
  • \nJanuary 6, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "within": "Buildings.Controls.OBC.CDL.Interfaces", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/IntegerInput.mo" - } - }, - "requiredReferences": {} -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/IntegerOutput.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/IntegerOutput.json deleted file mode 100644 index 32e7e6cf..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/IntegerOutput.json +++ /dev/null @@ -1,233 +0,0 @@ -{ - "instances": { - "IntegerOutput": { - "type": "short_class_specifier", - "type_specifier": "Integer", - "short_class_specifier_value": { - "base_prefix": "output", - "name": "Integer", - "description": { - "description_string": "Integer output connector", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"y\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -100, - "y": 50 - }, - { - "x": 0, - "y": 0 - }, - { - "x": -100, - "y": -50 - } - ], - "lineColor": { - "r": 255, - "g": 127, - "b": 0 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -100, - "y": 50 - }, - { - "x": 0, - "y": 0 - }, - { - "x": -100, - "y": -50 - }, - { - "x": -100, - "y": 50 - } - ], - "lineColor": { - "r": 255, - "g": 127, - "b": 0 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 30, - "y": 110 - }, - { - "x": 30, - "y": 60 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 255, - "g": 127, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nConnector with one output signal of type Integer.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJuly 19, 2019, by Jianjun Hu:
    \nOn both icon and diagram layer, added the initialScale.
    \nThis is for\nissue 1375.\n
  • \n
  • \nMarch 1, 2019, by Michael Wetter:
    \nOn the icon layer, changed connector size and added the connector name.
    \nThis is for\nissue 1375.\n
  • \n
  • \nJanuary 6, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "within": "Buildings.Controls.OBC.CDL.Interfaces", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/IntegerOutput.mo" - } - }, - "requiredReferences": {} -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/RealInput.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/RealInput.json deleted file mode 100644 index 45098cf7..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/RealInput.json +++ /dev/null @@ -1,233 +0,0 @@ -{ - "instances": { - "RealInput": { - "type": "short_class_specifier", - "type_specifier": "Real", - "short_class_specifier_value": { - "base_prefix": "input", - "name": "Real", - "description": { - "description_string": "Real input connector", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"u\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 50 - }, - { - "x": 100, - "y": 0 - }, - { - "x": 0, - "y": -50 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 50 - }, - { - "x": 100, - "y": 0 - }, - { - "x": 0, - "y": -50 - }, - { - "x": 0, - "y": 50 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -10, - "y": 60 - }, - { - "x": -10, - "y": 85 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nConnector with one input signal of type Real.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMarch 1, 2019, by Michael Wetter:
    \nOn the icon layer, changed connector size and added the connector name.
    \nThis is for\nissue 1375.\n
  • \n
  • \nJanuary 6, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "within": "Buildings.Controls.OBC.CDL.Interfaces", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/RealInput.mo" - } - }, - "requiredReferences": {} -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/RealOutput.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/RealOutput.json deleted file mode 100644 index 4f46396f..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/RealOutput.json +++ /dev/null @@ -1,229 +0,0 @@ -{ - "instances": { - "RealOutput": { - "type": "short_class_specifier", - "type_specifier": "Real", - "short_class_specifier_value": { - "base_prefix": "output", - "name": "Real", - "description": { - "description_string": "Real output connector", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"y\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -100, - "y": 50 - }, - { - "x": 0, - "y": 0 - }, - { - "x": -100, - "y": -50 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true", - "initialScale": 0.2 - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -100, - "y": 50 - }, - { - "x": 0, - "y": 0 - }, - { - "x": -100, - "y": -50 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 30, - "y": 60 - }, - { - "x": 30, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nConnector with one output signal of type Real.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJuly 19, 2019, by Jianjun Hu:
    \nOn both icon and diagram layer, added the initialScale.
    \nThis is for\nissue 1375.\n
  • \n
  • \nMarch 1, 2019, by Michael Wetter:
    \nOn the icon layer, changed connector size and added the connector name.
    \nThis is for\nissue 1375.\n
  • \n
  • \nJanuary 6, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "within": "Buildings.Controls.OBC.CDL.Interfaces", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/RealOutput.mo" - } - }, - "requiredReferences": {} -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/package.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/package.json deleted file mode 100644 index 9988f317..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Interfaces/package.json +++ /dev/null @@ -1,217 +0,0 @@ -{ - "instances": { - "Interfaces": { - "within": "Buildings.Controls.OBC.CDL", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/package.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "preferredView", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"info\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nThis package contains implementations of connectors for input\nand output signals of blocks.\n

\n

\nThe connectors are compatible with, and equivalent to,\nthe connectors from the Modelica Standard Library.\nThey are here implemented to make the CDL\npackage a self-contained package.\n

\n\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "radius": 25, - "lineColor": { - "r": 200, - "g": 200, - "b": 200 - }, - "fillColor": { - "r": 248, - "g": 248, - "b": 248 - }, - "fillPattern": "FillPattern.HorizontalCylinder" - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "radius": 25, - "lineColor": { - "r": 128, - "g": 128, - "b": 128 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -10, - "y": 70 - }, - { - "x": 10, - "y": 70 - }, - { - "x": 40, - "y": 20 - }, - { - "x": 80, - "y": 20 - }, - { - "x": 80, - "y": -20 - }, - { - "x": 40, - "y": -20 - }, - { - "x": 10, - "y": -70 - }, - { - "x": -10, - "y": -70 - } - ], - "origin": { - "x": 20, - "y": 0 - }, - "lineColor": { - "r": 64, - "g": 64, - "b": 64 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -100, - "y": 20 - }, - { - "x": -60, - "y": 20 - }, - { - "x": -30, - "y": 70 - }, - { - "x": -10, - "y": 70 - }, - { - "x": -10, - "y": -70 - }, - { - "x": -30, - "y": -70 - }, - { - "x": -60, - "y": -20 - }, - { - "x": -100, - "y": -20 - } - ], - "fillColor": { - "r": 102, - "g": 102, - "b": 102 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - } - ], - "semantics": {} - } - }, - "requiredReferences": {} -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/And.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/And.json deleted file mode 100644 index 91c572e3..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/And.json +++ /dev/null @@ -1,426 +0,0 @@ -{ - "instances": { - "And": { - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/And.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"and2\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -90, - "y": 40 - }, - { - "x": 90, - "y": -40 - } - ], - "textString": "\"and\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 71, - "y": 7 - }, - { - "x": 85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -75, - "y": -6 - }, - { - "x": -89, - "y": 8 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -75, - "y": -73 - }, - { - "x": -89, - "y": -87 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs true if all inputs are true.\nOtherwise the output is false.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "u1": { - "type_specifier": "Interfaces.BooleanInput", - "type": "element", - "long_class_specifier_identifier": "And", - "single_component_list": { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Connector of first Boolean input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/And.mo" - }, - "u2": { - "type_specifier": "Interfaces.BooleanInput", - "type": "element", - "long_class_specifier_identifier": "And", - "single_component_list": { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Connector of second Boolean input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/And.mo" - }, - "y": { - "type_specifier": "Interfaces.BooleanOutput", - "type": "element", - "long_class_specifier_identifier": "And", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/And.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Not.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Not.json deleted file mode 100644 index c396ca57..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Not.json +++ /dev/null @@ -1,319 +0,0 @@ -{ - "instances": { - "Not": { - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Not.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"not1\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 215, - "g": 215, - "b": 215 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -56, - "y": 28 - }, - { - "x": 72, - "y": -24 - } - ], - "textString": "\"not\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 71, - "y": 7 - }, - { - "x": 85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs true if the input is false,\nand false if the input is true.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "u": { - "type_specifier": "Interfaces.BooleanInput", - "type": "element", - "long_class_specifier_identifier": "Not", - "single_component_list": { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Connector of Boolean input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Not.mo" - }, - "y": { - "type_specifier": "Interfaces.BooleanOutput", - "type": "element", - "long_class_specifier_identifier": "Not", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Not.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Or.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Or.json deleted file mode 100644 index 47577de7..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Or.json +++ /dev/null @@ -1,426 +0,0 @@ -{ - "instances": { - "Or": { - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Or.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"or2\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -90, - "y": 40 - }, - { - "x": 90, - "y": -40 - } - ], - "textString": "\"or\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 71, - "y": 7 - }, - { - "x": 85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -75, - "y": -6 - }, - { - "x": -89, - "y": 8 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -75, - "y": -73 - }, - { - "x": -89, - "y": -87 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs true if at least one input\nis true.\nOtherwise the output is false.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "u1": { - "type_specifier": "Interfaces.BooleanInput", - "type": "element", - "long_class_specifier_identifier": "Or", - "single_component_list": { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Connector of first Boolean input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Or.mo" - }, - "u2": { - "type_specifier": "Interfaces.BooleanInput", - "type": "element", - "long_class_specifier_identifier": "Or", - "single_component_list": { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Connector of second Boolean input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Or.mo" - }, - "y": { - "type_specifier": "Interfaces.BooleanOutput", - "type": "element", - "long_class_specifier_identifier": "Or", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Or.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json deleted file mode 100644 index 8e8d748f..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json +++ /dev/null @@ -1,382 +0,0 @@ -{ - "instances": { - "Constant": { - "within": "Buildings.Controls.OBC.CDL.Logical.Sources", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"con\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 71, - "y": 7 - }, - { - "x": 85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -90, - "y": -70 - }, - { - "x": 72, - "y": -70 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 90, - "y": -70 - }, - { - "x": 68, - "y": -62 - }, - { - "x": 68, - "y": -78 - }, - { - "x": 90, - "y": -70 - } - ], - "lineColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -80, - "y": 88 - }, - { - "x": -88, - "y": 66 - }, - { - "x": -72, - "y": 66 - }, - { - "x": -80, - "y": 88 - } - ], - "lineColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillColor": { - "r": 255, - "g": 0, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 66 - }, - { - "x": -80, - "y": -82 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 0 - }, - { - "x": 64, - "y": 0 - } - ] - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": -140 - }, - { - "x": 150, - "y": -110 - } - ], - "textString": "\"%k\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs a constant signal y = k,\nwhere k is a Boolean-valued parameter.\n

\n\n

\n\\\"Constant.png\\\"\n

\n\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "k": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "type": "element", - "long_class_specifier_identifier": "Constant", - "single_component_list": { - "declaration": { - "identifier": "k" - }, - "description": { - "description_string": "Constant output value" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical.Sources", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.mo" - }, - "y": { - "type_specifier": "Interfaces.BooleanOutput", - "type": "element", - "long_class_specifier_identifier": "Constant", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical.Sources", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json deleted file mode 100644 index bcded9a6..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json +++ /dev/null @@ -1,574 +0,0 @@ -{ - "instances": { - "TrueDelay": { - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueDelay.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"truDel\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -250, - "y": -120 - }, - { - "x": 250, - "y": -150 - } - ], - "textString": "\"%delayTime\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": -66 - }, - { - "x": -60, - "y": -66 - }, - { - "x": -60, - "y": -22 - }, - { - "x": 38, - "y": -22 - }, - { - "x": 38, - "y": -66 - }, - { - "x": 66, - "y": -66 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 32 - }, - { - "x": -4, - "y": 32 - }, - { - "x": -4, - "y": 76 - }, - { - "x": 38, - "y": 76 - }, - { - "x": 38, - "y": 32 - }, - { - "x": 66, - "y": 32 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -71, - "y": 7 - }, - { - "x": -85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 71, - "y": 7 - }, - { - "x": 85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that delays a signal when it becomes true.\n

\n

\nA rising edge of the Boolean input u gives a delayed output.\nA falling edge of the input is immediately given to the output. If\ndelayOnInit = true, then a true input signal\nat the start time is also delayed, otherwise the input signal is\nproduced immediately at the output.\n

\n

\nSimulation results of a typical example with a delay time of 0.1 second\nis shown below.\n

\n

\n\\\"OnDelay1.png\\\"\n
\n\\\"OnDelay2.png\\\"\n

\n\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nNovember 12, 2020, by Michael Wetter:
    \nReformulated to remove dependency to Modelica.Units.SI.
    \nThis is for\nissue 2243.\n
  • \n
  • \nFebruary 11, 2019, by Milica Grahovac:
    \nAdded boolean input to enable delay of an initial true input.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "delayTime": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "TrueDelay", - "single_component_list": { - "declaration": { - "identifier": "delayTime", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Delay time" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueDelay.mo" - }, - "delayOnInit": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "type": "element", - "long_class_specifier_identifier": "TrueDelay", - "single_component_list": { - "declaration": { - "identifier": "delayOnInit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - }, - "description": { - "description_string": "Set to true to delay initial true input" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueDelay.mo" - }, - "u": { - "type_specifier": "Interfaces.BooleanInput", - "type": "element", - "long_class_specifier_identifier": "TrueDelay", - "single_component_list": { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Connector of Boolean input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueDelay.mo" - }, - "y": { - "type_specifier": "Interfaces.BooleanOutput", - "type": "element", - "long_class_specifier_identifier": "TrueDelay", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueDelay.mo" - }, - "t_past": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "TrueDelay", - "single_component_list": { - "declaration": { - "identifier": "t_past", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "fixed", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Time before simulation started" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueDelay.mo" - }, - "t_next": { - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "TrueDelay", - "single_component_list": { - "declaration": { - "identifier": "t_next", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Next event time" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueDelay.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json deleted file mode 100644 index 00912407..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json +++ /dev/null @@ -1,1621 +0,0 @@ -{ - "instances": { - "TrueFalseHold": { - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"truFalHol\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -84, - "y": 10 - }, - { - "x": -50, - "y": 10 - }, - { - "x": -50, - "y": 54 - }, - { - "x": -18, - "y": 54 - }, - { - "x": -18, - "y": 10 - }, - { - "x": -18, - "y": 10 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -78, - "y": -46 - }, - { - "x": -48, - "y": -46 - }, - { - "x": -48, - "y": -2 - }, - { - "x": -24, - "y": -2 - }, - { - "x": -24, - "y": -46 - }, - { - "x": -24, - "y": -46 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -24, - "y": -46 - }, - { - "x": 6, - "y": -46 - }, - { - "x": 6, - "y": -2 - }, - { - "x": 44, - "y": -2 - }, - { - "x": 44, - "y": -46 - }, - { - "x": 74, - "y": -46 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -18, - "y": 10 - }, - { - "x": 14, - "y": 10 - }, - { - "x": 14, - "y": 54 - }, - { - "x": 46, - "y": 54 - }, - { - "x": 46, - "y": 10 - }, - { - "x": 66, - "y": 10 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -88, - "y": -62 - }, - { - "x": 92, - "y": -90 - } - ], - "textString": "\"%falseHoldDuration\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 71, - "y": 7 - }, - { - "x": 85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -83, - "y": 7 - }, - { - "x": -69, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -90, - "y": 96 - }, - { - "x": 96, - "y": 68 - } - ], - "textString": "\"%trueHoldDuration\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -180, - "y": -120 - }, - { - "x": 160, - "y": 140 - } - ], - "preserveAspectRatio": "false" - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that holds a true or false signal for at least a defined time period.\n

\n

\nWhenever the input u switches, the output y\nswitches and remains at that value for at least duration\nseconds, where duration is a parameter.\nAfter duration elapsed, the output will be\ny = u.\nIf this change required changing the value of y,\nthen y will remain at that value for at least duration.\nOtherwise, y will change immediately whenever u\nchanges.\n

\n

\nThis block could for example be used to disable an economizer,\nand not re-enable it for 10 minutes, and vice versa.\n

\n

\nThe image below shows the implementation with a state graph in which\neach transition is only triggered when the input has the corresponding value,\nand the current state has been active for at least duration seconds.\n

\n\n

\n\n

\n\n

\nSimulation results of a typical example with duration = 1000 seconds.\n

\n\n

\n\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nNovember 12, 2020, by Michael Wetter:
    \nReformulated to remove dependency to Modelica.Units.SI.
    \nThis is for\nissue 2243.\n
  • \n
  • \nSeptember 18, 2017, by Michael Wetter:
    \nImproved event handling.\n
  • \n
  • \nJuly 14, 2017, by Michael Wetter:
    \nCorrected model to set output equal to input during initialization.\n
  • \n
  • \nJune 13, 2017, by Michael Wetter:
    \nReimplemented model using a state graph to avoid having to test for equality within tolerance,\nand to correct a bug.\nThis implementation is also easier to understand.
    \nThis is for\nissue 789.\n
  • \n
  • \nMay 24, 2017, by Milica Grahovac:
    \nFirst implementation.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "trueHoldDuration": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "TrueFalseHold", - "single_component_list": { - "declaration": { - "identifier": "trueHoldDuration", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "true hold duration" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo" - }, - "falseHoldDuration": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "TrueFalseHold", - "single_component_list": { - "declaration": { - "identifier": "falseHoldDuration", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "trueHoldDuration" - } - } - }, - "description": { - "description_string": "false hold duration" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo" - }, - "u": { - "type_specifier": "Interfaces.BooleanInput", - "type": "element", - "long_class_specifier_identifier": "TrueFalseHold", - "single_component_list": { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Boolean input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -220, - "y": -20 - }, - { - "x": -180, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -220, - "y": -20 - }, - { - "x": -180, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo" - }, - "y": { - "type_specifier": "Interfaces.BooleanOutput", - "type": "element", - "long_class_specifier_identifier": "TrueFalseHold", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 160, - "y": -20 - }, - { - "x": 200, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 160, - "y": -20 - }, - { - "x": 200, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo" - }, - "onDel1": { - "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", - "type": "element", - "long_class_specifier_identifier": "TrueFalseHold", - "single_component_list": { - "declaration": { - "identifier": "onDel1", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "delayTime", - "modification": { - "equal": true, - "expression": { - "simple_expression": "falseHoldDuration" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Output true when timer elapsed the required time", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": -40 - }, - { - "x": -80, - "y": -20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": -40 - }, - { - "x": -80, - "y": -20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo" - }, - "onDel2": { - "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", - "type": "element", - "long_class_specifier_identifier": "TrueFalseHold", - "single_component_list": { - "declaration": { - "identifier": "onDel2", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "delayTime", - "modification": { - "equal": true, - "expression": { - "simple_expression": "trueHoldDuration" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Output true when timer elapsed the required time", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 20, - "y": -70 - }, - { - "x": 40, - "y": -50 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 20, - "y": -70 - }, - { - "x": 40, - "y": -50 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo" - }, - "stateGraphRoot": { - "type_specifier": "Modelica.StateGraph.StateGraphRoot", - "type": "element", - "long_class_specifier_identifier": "TrueFalseHold", - "single_component_list": { - "declaration": { - "identifier": "stateGraphRoot" - }, - "description": { - "description_string": "Root of state graph", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -160, - "y": 100 - }, - { - "x": -140, - "y": 120 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -160, - "y": 100 - }, - { - "x": -140, - "y": 120 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo" - }, - "outputFalse": { - "type_specifier": "Modelica.StateGraph.StepWithSignal", - "type": "element", - "long_class_specifier_identifier": "TrueFalseHold", - "single_component_list": { - "declaration": { - "identifier": "outputFalse", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nIn", - "modification": { - "equal": true, - "expression": { - "simple_expression": "2" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nOut", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "State for which the block outputs false", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -60, - "y": 10 - }, - { - "x": -40, - "y": 30 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -60, - "y": 10 - }, - { - "x": -40, - "y": 30 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo" - }, - "toTrue": { - "type_specifier": "Modelica.StateGraph.TransitionWithSignal", - "type": "element", - "long_class_specifier_identifier": "TrueFalseHold", - "single_component_list": { - "declaration": { - "identifier": "toTrue" - }, - "description": { - "description_string": "Transition to true", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -30, - "y": 10 - }, - { - "x": -10, - "y": 30 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -30, - "y": 10 - }, - { - "x": -10, - "y": 30 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo" - }, - "notU": { - "type_specifier": "CDL.Logical.Not", - "type": "element", - "long_class_specifier_identifier": "TrueFalseHold", - "single_component_list": { - "declaration": { - "identifier": "notU" - }, - "description": { - "description_string": "Negation of input", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 60 - }, - { - "x": -120, - "y": 80 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 60 - }, - { - "x": -120, - "y": 80 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo" - }, - "outputTrue": { - "type_specifier": "Modelica.StateGraph.StepWithSignal", - "type": "element", - "long_class_specifier_identifier": "TrueFalseHold", - "single_component_list": { - "declaration": { - "identifier": "outputTrue", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nIn", - "modification": { - "equal": true, - "expression": { - "simple_expression": "2" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nOut", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "State with true output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 0, - "y": 10 - }, - { - "x": 20, - "y": 30 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 0, - "y": 10 - }, - { - "x": 20, - "y": 30 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo" - }, - "toFalse": { - "type_specifier": "Modelica.StateGraph.TransitionWithSignal", - "type": "element", - "long_class_specifier_identifier": "TrueFalseHold", - "single_component_list": { - "declaration": { - "identifier": "toFalse" - }, - "description": { - "description_string": "Transition to false", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 30, - "y": 10 - }, - { - "x": 50, - "y": 30 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 30, - "y": 10 - }, - { - "x": 50, - "y": 30 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo" - }, - "and2": { - "type_specifier": "CDL.Logical.And", - "type": "element", - "long_class_specifier_identifier": "TrueFalseHold", - "single_component_list": { - "declaration": { - "identifier": "and2" - }, - "description": { - "description_string": "Check for input and elapsed timer", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 60, - "y": -70 - }, - { - "x": 80, - "y": -50 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 60, - "y": -70 - }, - { - "x": 80, - "y": -50 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo" - }, - "and1": { - "type_specifier": "CDL.Logical.And", - "type": "element", - "long_class_specifier_identifier": "TrueFalseHold", - "single_component_list": { - "declaration": { - "identifier": "and1" - }, - "description": { - "description_string": "Check for input and elapsed timer", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": -40 - }, - { - "x": -30, - "y": -20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": -40 - }, - { - "x": -30, - "y": -20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo" - }, - "initialStep": { - "type_specifier": "Modelica.StateGraph.InitialStep", - "type": "element", - "long_class_specifier_identifier": "TrueFalseHold", - "single_component_list": { - "declaration": { - "identifier": "initialStep", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nIn", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nOut", - "modification": { - "equal": true, - "expression": { - "simple_expression": "2" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Initial state", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -120, - "y": 100 - }, - { - "x": -100, - "y": 120 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -120, - "y": 100 - }, - { - "x": -100, - "y": 120 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo" - }, - "toTrue1": { - "type_specifier": "Modelica.StateGraph.TransitionWithSignal", - "type": "element", - "long_class_specifier_identifier": "TrueFalseHold", - "single_component_list": { - "declaration": { - "identifier": "toTrue1" - }, - "description": { - "description_string": "Transition to true", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -70, - "y": 102 - }, - { - "x": -50, - "y": 122 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -70, - "y": 102 - }, - { - "x": -50, - "y": 122 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo" - }, - "toFalse1": { - "type_specifier": "Modelica.StateGraph.TransitionWithSignal", - "type": "element", - "long_class_specifier_identifier": "TrueFalseHold", - "single_component_list": { - "declaration": { - "identifier": "toFalse1" - }, - "description": { - "description_string": "Transition to false", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -90, - "y": 80 - }, - { - "x": -70, - "y": 100 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -90, - "y": 80 - }, - { - "x": -70, - "y": 100 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo" - } - }, - "requiredReferences": { - "connections": { - "outputTrue.outPort[1]": [ - "toFalse.inPort" - ], - "outputTrue.active": [ - "y", - "onDel2.u" - ], - "outputFalse.outPort[1]": [ - "toTrue.inPort" - ], - "toFalse.outPort": [ - "outputFalse.inPort[1]" - ], - "notU.y": [ - "and2.u2", - "toFalse1.condition" - ], - "and2.y": [ - "toFalse.condition" - ], - "outputFalse.active": [ - "onDel1.u" - ], - "u": [ - "and1.u2", - "toTrue1.condition" - ], - "and1.y": [ - "toTrue.condition" - ], - "toTrue1.outPort": [ - "outputTrue.inPort[1]" - ], - "toTrue.outPort": [ - "outputTrue.inPort[2]" - ], - "toFalse1.outPort": [ - "outputFalse.inPort[2]" - ], - "initialStep.outPort[1]": [ - "toTrue1.inPort" - ], - "initialStep.outPort[2]": [ - "toFalse1.inPort" - ], - "notU.u": [ - "u" - ], - "onDel1.y": [ - "and1.u1" - ], - "onDel2.y": [ - "and2.u1" - ] - } - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json deleted file mode 100644 index a0c7cc72..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json +++ /dev/null @@ -1,899 +0,0 @@ -{ - "instances": { - "TrueHoldWithReset": { - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"truHol\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -72, - "y": 18 - }, - { - "x": -48, - "y": 18 - }, - { - "x": -48, - "y": 62 - }, - { - "x": 52, - "y": 62 - }, - { - "x": 52, - "y": 18 - }, - { - "x": 80, - "y": 18 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -68, - "y": -46 - }, - { - "x": -48, - "y": -46 - }, - { - "x": -48, - "y": -2 - }, - { - "x": 22, - "y": -2 - }, - { - "x": 22, - "y": -46 - }, - { - "x": 78, - "y": -46 - } - ] - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -90, - "y": -62 - }, - { - "x": 96, - "y": -90 - } - ], - "textString": "\"%duration\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 71, - "y": 7 - }, - { - "x": 85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -83, - "y": 7 - }, - { - "x": -69, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that holds a true input signal for at least a defined time period.\n

\n

\nAt initialization, the output y is equal to the input u.\nIf the input u becomes true, or is true\nduring intialization, a timer starts\nand the Boolean output y stays true for the time\nperiod provided by the parameter duration.\nWhen this time is elapsed, the input is checked again. If\nit is true, then the timer is restarted and the output remains\ntrue for another duration seconds.\nIf the input u is false after\nholdTime seconds, then the ouput is switched to false,\nuntil the input becomes true again.\n

\n

\nThe figure below shows the state chart of the implementation. Note that the\ntransition are done in zero time.\n

\n

\n\n

\n

\nThe figure below shows an example with a hold time of 3600 seconds\nand a pulse width period 9000 seconds that starts at t=200 seconds.\n

\n\n

\n\n

\n\n

\nThe figure below shows an example with a hold time of 60 seconds\nand a pulse width period 3600 seconds that starts at t=0 seconds.\n

\n

\n\n

\n

\nThe next two figures show the same experiment, except that the input u\nhas been negated. The figure below has again a hold time of 3600 seconds\nand a pulse width period 9000 seconds that starts at t=200 seconds.\n

\n

\n\n

\n

\nThe figure below has again a hold time of 60 seconds\nand a pulse width period 3600 seconds that starts at t=0 seconds.\n

\n

\n\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nNovember 12, 2020, by Michael Wetter:
    \nReformulated to remove dependency to Modelica.Units.SI.
    \nThis is for\nissue 2243.\n
  • \n
  • \nSeptember 18, 2017, by Michael Wetter:
    \nImproved event handling.\n
  • \n
  • \nJune 13, 2017, by Michael Wetter:
    \nReimplemented model using a state graph to avoid having to test for equality within tolerance.\nThis implementation is also easier to understand.
    \nThis is for\nissue 789.\n
  • \n
  • \nMay 24, 2017, by Milica Grahovac:
    \nFirst implementation.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "duration": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "TrueHoldWithReset", - "single_component_list": { - "declaration": { - "identifier": "duration", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Time duration of the true output signal hold" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.mo" - }, - "u": { - "type_specifier": "Interfaces.BooleanInput", - "type": "element", - "long_class_specifier_identifier": "TrueHoldWithReset", - "single_component_list": { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Boolean input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.mo" - }, - "y": { - "type_specifier": "Interfaces.BooleanOutput", - "type": "element", - "long_class_specifier_identifier": "TrueHoldWithReset", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.mo" - }, - "stateGraphRoot": { - "type_specifier": "Modelica.StateGraph.StateGraphRoot", - "type": "element", - "long_class_specifier_identifier": "TrueHoldWithReset", - "single_component_list": { - "declaration": { - "identifier": "stateGraphRoot" - }, - "description": { - "description_string": "Root of state graph", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 70, - "y": 68 - }, - { - "x": 90, - "y": 88 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 70, - "y": 68 - }, - { - "x": 90, - "y": 88 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.mo" - }, - "onDelay": { - "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", - "type": "element", - "long_class_specifier_identifier": "TrueHoldWithReset", - "single_component_list": { - "declaration": { - "identifier": "onDelay", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "delayTime", - "modification": { - "equal": true, - "expression": { - "simple_expression": "duration" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Delay for the on signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 10, - "y": 10 - }, - { - "x": 30, - "y": 30 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 10, - "y": 10 - }, - { - "x": 30, - "y": 30 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.mo" - }, - "initialStep": { - "type_specifier": "Modelica.StateGraph.InitialStep", - "type": "element", - "long_class_specifier_identifier": "TrueHoldWithReset", - "single_component_list": { - "declaration": { - "identifier": "initialStep", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nIn", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nOut", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Initial step", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -80, - "y": 50 - }, - { - "x": -60, - "y": 70 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -80, - "y": 50 - }, - { - "x": -60, - "y": 70 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.mo" - }, - "outputTrue": { - "type_specifier": "Modelica.StateGraph.StepWithSignal", - "type": "element", - "long_class_specifier_identifier": "TrueHoldWithReset", - "single_component_list": { - "declaration": { - "identifier": "outputTrue", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nIn", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nOut", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Holds the output at true", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -10, - "y": 50 - }, - { - "x": 10, - "y": 70 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -10, - "y": 50 - }, - { - "x": 10, - "y": 70 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.mo" - }, - "toOutputTrue": { - "type_specifier": "Modelica.StateGraph.TransitionWithSignal", - "type": "element", - "long_class_specifier_identifier": "TrueHoldWithReset", - "single_component_list": { - "declaration": { - "identifier": "toOutputTrue" - }, - "description": { - "description_string": "Transition that activates sending a true output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 50 - }, - { - "x": -30, - "y": 70 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 50 - }, - { - "x": -30, - "y": 70 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.mo" - }, - "toInitial": { - "type_specifier": "Modelica.StateGraph.TransitionWithSignal", - "type": "element", - "long_class_specifier_identifier": "TrueHoldWithReset", - "single_component_list": { - "declaration": { - "identifier": "toInitial" - }, - "description": { - "description_string": "Transition that activates the initial state", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 30, - "y": 50 - }, - { - "x": 50, - "y": 70 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 30, - "y": 50 - }, - { - "x": 50, - "y": 70 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Logical", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.mo" - } - }, - "requiredReferences": { - "connections": { - "initialStep.outPort[1]": [ - "toOutputTrue.inPort" - ], - "outputTrue.active": [ - "y", - "onDelay.u" - ], - "toOutputTrue.condition": [ - "u" - ], - "toInitial.outPort": [ - "initialStep.inPort[1]" - ], - "toOutputTrue.outPort": [ - "outputTrue.inPort[1]" - ], - "outputTrue.outPort[1]": [ - "toInitial.inPort" - ], - "onDelay.y": [ - "toInitial.condition" - ] - } - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Abs.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Abs.json deleted file mode 100644 index abc4f483..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Abs.json +++ /dev/null @@ -1,439 +0,0 @@ -{ - "instances": { - "Abs": { - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Abs.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"abs\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 110 - }, - { - "x": 150, - "y": 150 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 92, - "y": 0 - }, - { - "x": 70, - "y": 8 - }, - { - "x": 70, - "y": -8 - }, - { - "x": 92, - "y": 0 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 80 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 80, - "y": 80 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 0, - "y": -14 - }, - { - "x": 0, - "y": 68 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 90 - }, - { - "x": -8, - "y": 68 - }, - { - "x": 8, - "y": 68 - }, - { - "x": 0, - "y": 90 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -34, - "y": -28 - }, - { - "x": 38, - "y": -76 - } - ], - "textString": "\"abs\"", - "textColor": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -88, - "y": 0 - }, - { - "x": 76, - "y": 0 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 226, - "y": 60 - }, - { - "x": 106, - "y": 10 - } - ], - "textString": "DynamicSelect(\"\",String(y", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs y = abs(u),\nwhere\nu is an input.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "u": { - "type_specifier": "Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "Abs", - "single_component_list": { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Connector of Real input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Abs.mo" - }, - "y": { - "type_specifier": "Interfaces.RealOutput", - "type": "element", - "long_class_specifier_identifier": "Abs", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Real output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Abs.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Add.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Add.json deleted file mode 100644 index b95916cd..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Add.json +++ /dev/null @@ -1,461 +0,0 @@ -{ - "instances": { - "Add": { - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Add.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"add2\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs y as the sum of the\ntwo input signals u1 and u2,\n

\n
\n    y = u1 + u2.\n
\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJanuary 27, 2022, by Jianjun Hu:
    \nRemoved gain factors.
    \nThis is for issue 2865.\n
  • \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -50, - "y": -50 - }, - { - "x": 50, - "y": 50 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -100, - "y": 60 - }, - { - "x": -74, - "y": 24 - }, - { - "x": -44, - "y": 24 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -100, - "y": -60 - }, - { - "x": -74, - "y": -28 - }, - { - "x": -42, - "y": -28 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 50, - "y": 0 - }, - { - "x": 100, - "y": 0 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -36, - "y": -26 - }, - { - "x": 40, - "y": 42 - } - ], - "textString": "\"+\"" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 226, - "y": 60 - }, - { - "x": 106, - "y": 10 - } - ], - "textString": "DynamicSelect(\"\",String(y", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "u1": { - "type_specifier": "Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "Add", - "single_component_list": { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Connector of Real input signal 1", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 40 - }, - { - "x": -100, - "y": 80 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 40 - }, - { - "x": -100, - "y": 80 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Add.mo" - }, - "u2": { - "type_specifier": "Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "Add", - "single_component_list": { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Connector of Real input signal 2", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -80 - }, - { - "x": -100, - "y": -40 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -80 - }, - { - "x": -100, - "y": -40 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Add.mo" - }, - "y": { - "type_specifier": "Interfaces.RealOutput", - "type": "element", - "long_class_specifier_identifier": "Add", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Real output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Add.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Derivative.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Derivative.json deleted file mode 100644 index a9c4a5bf..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Derivative.json +++ /dev/null @@ -1,800 +0,0 @@ -{ - "instances": { - "Derivative": { - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Derivative.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"der\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nThis blocks defines the transfer function between the\ninput u and the output y\nas approximated derivative:\n

\n
\n                s\n  y = k * ------------ * u\n            T * s + 1\n
\n

\nIf k=0, the block reduces to y=0.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMay 20, 2022, by Michael Wetter:
    \nFirst implementation.
    \nThis is for\nissue 3022.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -56, - "y": 78 - }, - { - "x": -56, - "y": -90 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -56, - "y": 90 - }, - { - "x": -64, - "y": 68 - }, - { - "x": -48, - "y": 68 - }, - { - "x": -56, - "y": 90 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -64, - "y": -80 - }, - { - "x": 82, - "y": -80 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 90, - "y": -80 - }, - { - "x": 68, - "y": -72 - }, - { - "x": 68, - "y": -88 - }, - { - "x": 90, - "y": -80 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -31.333, - "y": 89.333 - }, - { - "x": -19.333, - "y": -40.667 - }, - { - "x": 86.667, - "y": -52.667 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - }, - "smooth": "Smooth.Bezier" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 226, - "y": 60 - }, - { - "x": 106, - "y": 10 - } - ], - "textString": "DynamicSelect(\"\",String(y", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -106, - "y": 14 - }, - { - "x": -62, - "y": -12 - } - ], - "textString": "\"u\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 46, - "y": 14 - }, - { - "x": 90, - "y": -12 - } - ], - "textString": ",textString=", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -108, - "y": 94 - }, - { - "x": -64, - "y": 68 - } - ], - "textString": "\"k\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -108, - "y": 54 - }, - { - "x": -64, - "y": 28 - } - ], - "textString": "\"T\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "y_start": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "Derivative", - "single_component_list": { - "declaration": { - "identifier": "y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Initial value of output (= state)", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Initialization\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Initialization\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Derivative.mo" - }, - "k": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "Derivative", - "single_component_list": { - "declaration": { - "identifier": "k" - }, - "description": { - "description_string": "Connector for gain signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 60 - }, - { - "x": -100, - "y": 100 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 60 - }, - { - "x": -100, - "y": 100 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Derivative.mo" - }, - "T": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "Derivative", - "single_component_list": { - "declaration": { - "identifier": "T", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Buildings.Controls.OBC.CDL.Constants.eps" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Time constant (T>0 required; T=0 is ideal derivative block)", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 20 - }, - { - "x": -100, - "y": 60 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 20 - }, - { - "x": -100, - "y": 60 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Derivative.mo" - }, - "u": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "Derivative", - "single_component_list": { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Input to be differentiated", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Derivative.mo" - }, - "y": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", - "type": "element", - "long_class_specifier_identifier": "Derivative", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Approximation of derivative du/dt", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Derivative.mo" - }, - "T_nonZero": { - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "Derivative", - "single_component_list": { - "declaration": { - "identifier": "T_nonZero", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Non-zero value for T" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Derivative.mo" - }, - "x": { - "type_prefix": "output", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "Derivative", - "single_component_list": { - "declaration": { - "identifier": "x" - }, - "description": { - "description_string": "State of block" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Derivative.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Greater.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Greater.json deleted file mode 100644 index af904de5..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Greater.json +++ /dev/null @@ -1,1100 +0,0 @@ -{ - "instances": { - "Greater": { - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Greater.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"gre\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "false" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 73, - "y": 7 - }, - { - "x": 87, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -100, - "y": -80 - }, - { - "x": 42, - "y": -80 - }, - { - "x": 42, - "y": -62 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -12, - "y": 14 - }, - { - "x": 18, - "y": 2 - }, - { - "x": -12, - "y": -8 - } - ], - "thickness": 0.5 - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -64, - "y": 62 - }, - { - "x": 62, - "y": 92 - } - ], - "textString": ",textString=", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -88, - "y": -18 - }, - { - "x": -21, - "y": 24 - } - ], - "textString": "DynamicSelect(\"\",String(u1", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -86, - "y": -76 - }, - { - "x": -19, - "y": -34 - } - ], - "textString": "DynamicSelect(\"\",String(u2", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 22, - "y": 20 - }, - { - "x": 89, - "y": 62 - } - ], - "textString": "DynamicSelect(\"\",String(u2", - "textColor": { - "r": 235, - "g": 235, - "b": null - }, - "visible": ",visible=" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 22, - "y": 20 - }, - { - "x": 89, - "y": 62 - } - ], - "textString": "DynamicSelect(\"\",String(u2", - "textColor": { - "r": 235, - "g": 235, - "b": null - }, - "visible": ",visible=" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 20, - "y": -56 - }, - { - "x": 87, - "y": -14 - } - ], - "textString": "DynamicSelect(\"\",String(u2 -h", - "textColor": { - "r": 235, - "g": 235, - "b": null - }, - "visible": ",visible=" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs true if the Real input u1\nis greater than the Real input u2, optionally within a hysteresis h.\n

\n

\nThe parameter h ≥ 0 is used to specify a hysteresis.\nFor any h ≥ 0, the output switches to true if u1 > u2,\nand it switches to false if u1 ≤ u2 - h.\nNote that in the special case of h = 0, this produces the output y=u1 > u2.\n

\n

\nTo disable hysteresis, set h=0.\n

\n

Usage

\n

\nEnabling hysteresis can avoid frequent switching.
\nIn simulation, adding hysteresis is recommended to guard against numerical noise.\nOtherwise, numerical noise from a nonlinear solver or from an\nimplicit time integration algorithm may cause the simulation to stall.\nNumerical noise can be present if an input depends\non a state variable or a quantity that requires an iterative solution,\nsuch as a temperature or a mass flow rate of an HVAC system.
\nIn real controllers, adding hysteresis is recommended to guard against measurement noise.\nOtherwise, measurement noise may cause the output to change frequently.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nApril 29, 2022, by Jianjun Hu:
    \nCorrected the condition of swiching true back to false.
    \nThis is for issue 2981.\n
  • \n
  • \nFebruary 3, 2021, by Antoine Gautier:
    \nCorrected documentation.
    \nThis is for issue 2246.\n
  • \n
  • \nAugust 5, 2020, by Michael Wetter:
    \nAdded hysteresis.
    \nThis is for issue 2076.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "h": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "Greater", - "single_component_list": { - "declaration": { - "identifier": "h", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Hysteresis", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Greater.mo" - }, - "pre_y_start": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "type": "element", - "long_class_specifier_identifier": "Greater", - "single_component_list": { - "declaration": { - "identifier": "pre_y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - }, - "description": { - "description_string": "Value of pre(y) at initial time", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Greater.mo" - }, - "u1": { - "type_specifier": "Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "Greater", - "single_component_list": { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Input u1", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Greater.mo" - }, - "u2": { - "type_specifier": "Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "Greater", - "single_component_list": { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Input u2", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Greater.mo" - }, - "y": { - "type_specifier": "Interfaces.BooleanOutput", - "type": "element", - "long_class_specifier_identifier": "Greater", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Output y", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Greater.mo" - }, - "have_hysteresis": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "type": "element", - "long_class_specifier_identifier": "Greater", - "single_component_list": { - "declaration": { - "identifier": "have_hysteresis", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "h" - }, - { - "name": "1e-10" - } - ], - "relation_operator": ">=" - } - ] - } - ] - } - } - } - } - }, - "description": { - "description_string": "True if the block has no hysteresis", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Greater.mo" - }, - "greHys": { - "type_specifier": "GreaterWithHysteresis", - "type": "element", - "long_class_specifier_identifier": "Greater", - "single_component_list": { - "declaration": { - "identifier": "greHys", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "h", - "modification": { - "equal": true, - "expression": { - "simple_expression": "h" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "pre_y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "pre_y_start" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "have_hysteresis" - } - }, - "description": { - "description_string": "Block with hysteresis", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -10, - "y": 20 - }, - { - "x": 10, - "y": 40 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -10, - "y": 20 - }, - { - "x": 10, - "y": 40 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Greater.mo" - }, - "greNoHys": { - "type_specifier": "GreaterNoHysteresis", - "type": "element", - "long_class_specifier_identifier": "Greater", - "single_component_list": { - "declaration": { - "identifier": "greNoHys" - }, - "condition_attribute": { - "expression": { - "simple_expression": "not have_hysteresis" - } - }, - "description": { - "description_string": "Block without hysteresis", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -10, - "y": -40 - }, - { - "x": 10, - "y": -20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -10, - "y": -40 - }, - { - "x": 10, - "y": -20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Greater.mo" - }, - "GreaterNoHysteresis": { - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Greater.mo", - "classPrefixes": "block", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "GreaterWithHysteresis": { - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Greater.mo", - "classPrefixes": "block", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -64, - "y": 62 - }, - { - "x": 62, - "y": 92 - } - ], - "textString": ",textString=", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - } - ], - "semantics": {} - } - }, - "requiredReferences": { - "connections": { - "u1": [ - "greHys.u1", - "greNoHys.u1" - ], - "u2": [ - "greHys.u2", - "greNoHys.u2" - ], - "greHys.y": [ - "y" - ], - "greNoHys.y": [ - "y" - ] - } - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Hysteresis.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Hysteresis.json deleted file mode 100644 index e980dab9..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Hysteresis.json +++ /dev/null @@ -1,724 +0,0 @@ -{ - "instances": { - "Hysteresis": { - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Hysteresis.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"hys\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 71, - "y": 7 - }, - { - "x": 85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -80, - "y": 90 - }, - { - "x": -88, - "y": 68 - }, - { - "x": -72, - "y": 68 - }, - { - "x": -80, - "y": 90 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 68 - }, - { - "x": -80, - "y": -29 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 92, - "y": -29 - }, - { - "x": 70, - "y": -21 - }, - { - "x": 70, - "y": -37 - }, - { - "x": 92, - "y": -29 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -79, - "y": -29 - }, - { - "x": 84, - "y": -29 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -79, - "y": -29 - }, - { - "x": 41, - "y": -29 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -15, - "y": -21 - }, - { - "x": 1, - "y": -29 - }, - { - "x": -15, - "y": -36 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 41, - "y": 51 - }, - { - "x": 41, - "y": -29 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 33, - "y": 3 - }, - { - "x": 41, - "y": 22 - }, - { - "x": 50, - "y": 3 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -49, - "y": 51 - }, - { - "x": 81, - "y": 51 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -4, - "y": 59 - }, - { - "x": -19, - "y": 51 - }, - { - "x": -4, - "y": 43 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -59, - "y": 29 - }, - { - "x": -49, - "y": 11 - }, - { - "x": -39, - "y": 29 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -49, - "y": 51 - }, - { - "x": -49, - "y": -29 - } - ] - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -92, - "y": -49 - }, - { - "x": -9, - "y": -92 - } - ], - "textString": "\"%uLow\"", - "textColor": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 2, - "y": -49 - }, - { - "x": 91, - "y": -92 - } - ], - "textString": "\"%uHigh\"", - "textColor": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -91, - "y": -49 - }, - { - "x": -8, - "y": -92 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -49, - "y": -29 - }, - { - "x": -49, - "y": -49 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": 2, - "y": -49 - }, - { - "x": 91, - "y": -92 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 41, - "y": -29 - }, - { - "x": 41, - "y": -49 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that transforms a Real input signal into a Boolean\noutput signal:\n

\n
    \n
  • When the output was false and the input becomes\n greater than the parameter uHigh, the output\n switches to true.\n
  • \n
  • When the output was true and the input becomes\n less than the parameter uLow, the output\n switches to false.\n
  • \n
\n

\nThe start value of the output is defined via parameter\npre_y_start (= value of pre(y) at initial time).\nThe default value of this parameter is false.\n

\n

\n\\\"Hysteresis.png\\\"\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nOctober 3, 2017, by Michael Wetter:
    \nRemoved start value for parameters, and moved assertion to initial equation.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "uLow": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "Hysteresis", - "single_component_list": { - "declaration": { - "identifier": "uLow" - }, - "description": { - "description_string": "if y=true and uuHigh, switch to y=true" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Hysteresis.mo" - }, - "pre_y_start": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "type": "element", - "long_class_specifier_identifier": "Hysteresis", - "single_component_list": { - "declaration": { - "identifier": "pre_y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - }, - "description": { - "description_string": "Value of pre(y) at initial time" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Hysteresis.mo" - }, - "u": { - "type_specifier": "Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "Hysteresis", - "single_component_list": { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Real input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Hysteresis.mo" - }, - "y": { - "type_specifier": "Interfaces.BooleanOutput", - "type": "element", - "long_class_specifier_identifier": "Hysteresis", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Hysteresis.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.json deleted file mode 100644 index fc26aa7a..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.json +++ /dev/null @@ -1,658 +0,0 @@ -{ - "instances": { - "IntegratorWithReset": { - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"intWitRes\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -88, - "y": -94 - }, - { - "x": 212, - "y": -54 - } - ], - "textString": "\"y_reset_in\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "horizontalAlignment": "TextAlignment.Left" - } - }, - { - "name": "Bitmap", - "attribute": { - "extent": [ - { - "x": -54, - "y": -50 - }, - { - "x": 60, - "y": 50 - } - ], - "fileName": "\"modelica://Buildings/Resources/Images/Controls/OBC/CDL/Reals/int.png\"" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -88, - "y": 56 - }, - { - "x": 206, - "y": 92 - } - ], - "textString": ",textString=", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "horizontalAlignment": "TextAlignment.Left" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -92, - "y": -12 - }, - { - "x": 208, - "y": 28 - } - ], - "textString": "\"u\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "horizontalAlignment": "TextAlignment.Left" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 70, - "y": -14 - }, - { - "x": 370, - "y": 26 - } - ], - "textString": "\"y\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "horizontalAlignment": "TextAlignment.Left" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 226, - "y": 60 - }, - { - "x": 106, - "y": 10 - } - ], - "textString": "DynamicSelect(\"\",String(y", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs\n

\n

\ny(t) = ystart + ∫t0t u(s) ds.\n

\n

\nWhenever the input signal trigger changes from false\nto true,\nthe integrator is reset by setting ystart\nto the value of the input signal y_reset_in.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJune 8, 2023, by Michael Wetter:
    \nUpdated documentation.\n
  • \n
  • \nFebruary 2, 2022, by Michael Wetter:
    \nRemoved unit=\\\"1\\\" declaration for gain k.\nThis is to avoid the warning observed in\n#2872.\n
  • \n
  • \nOctober 21, 2021, by Michael Wetter:
    \nRemoved errorneous visible attribute in icon.\n
  • \n
  • \nAugust 3, 2020, by Jianjun:
    \nFixed the input y_reset_in.\n
    \nThis is for\nissue 2056.\n
  • \n
  • \nApril 21, 2020, by Michael Wetter:
    \nRemoved parameter initType.\n
    \nThis is for\nissue 1887.\n
  • \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nNovember 6, 2017, by Michael Wetter:
    \nExplicitly declared types from CDL.\n
  • \n
  • \nMarch 23, 2017, by Jianjun Hu:
    \nFirst implementation, based on the implementation of\n\nBuildings.Utilities.Math.IntegratorWithReset.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "k": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "IntegratorWithReset", - "single_component_list": { - "declaration": { - "identifier": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - }, - "description": { - "description_string": "Integrator gain" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.mo" - }, - "y_start": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "IntegratorWithReset", - "single_component_list": { - "declaration": { - "identifier": "y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Initial or guess value of output (= state)", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Initialization\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Initialization\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.mo" - }, - "u": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "IntegratorWithReset", - "single_component_list": { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Connector of Real input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.mo" - }, - "y_reset_in": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "IntegratorWithReset", - "single_component_list": { - "declaration": { - "identifier": "y_reset_in" - }, - "description": { - "description_string": "Input signal for state to which integrator is reset", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.mo" - }, - "trigger": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", - "type": "element", - "long_class_specifier_identifier": "IntegratorWithReset", - "single_component_list": { - "declaration": { - "identifier": "trigger" - }, - "description": { - "description_string": "Resets the integrator output when trigger becomes true", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "origin": { - "x": 0, - "y": -120 - }, - "extent": [ - { - "x": -20, - "y": -20 - }, - { - "x": 20, - "y": 20 - } - ], - "rotation": 90 - }, - "iconTransformation": { - "origin": { - "x": 0, - "y": -120 - }, - "extent": [ - { - "x": -20, - "y": -20 - }, - { - "x": 20, - "y": 20 - } - ], - "rotation": 90 - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "origin": { - "x": 0, - "y": -120 - }, - "extent": [ - { - "x": -20, - "y": -20 - }, - { - "x": 20, - "y": 20 - } - ], - "rotation": 90 - }, - "iconTransformation": { - "origin": { - "x": 0, - "y": -120 - }, - "extent": [ - { - "x": -20, - "y": -20 - }, - { - "x": 20, - "y": 20 - } - ], - "rotation": 90 - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.mo" - }, - "y": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", - "type": "element", - "long_class_specifier_identifier": "IntegratorWithReset", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Real output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Limiter.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Limiter.json deleted file mode 100644 index 477906c9..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Limiter.json +++ /dev/null @@ -1,532 +0,0 @@ -{ - "instances": { - "Limiter": { - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Limiter.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"lim\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs y = min(uMax, max(uMin, u)),\nwhere\nu is an input\nand\nuMax and uMin are parameters.\n

\n

\nIf uMax < uMin, an error occurs and no output is produced.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nJuly 17, 2017, by Michael Wetter:
    \nRemoved cyclical definition.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 110 - }, - { - "x": 150, - "y": 150 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 0, - "y": -90 - }, - { - "x": 0, - "y": 68 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 90 - }, - { - "x": -8, - "y": 68 - }, - { - "x": 8, - "y": 68 - }, - { - "x": 0, - "y": 90 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -90, - "y": 0 - }, - { - "x": 68, - "y": 0 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 90, - "y": 0 - }, - { - "x": 68, - "y": -8 - }, - { - "x": 68, - "y": 8 - }, - { - "x": 90, - "y": 0 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": -70 - }, - { - "x": -50, - "y": -70 - }, - { - "x": 50, - "y": 70 - }, - { - "x": 80, - "y": 70 - } - ] - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 50, - "y": 70 - }, - { - "x": 80, - "y": 70 - } - ] - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": -70 - }, - { - "x": -50, - "y": -70 - } - ] - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 12, - "y": 72 - }, - { - "x": 94, - "y": 98 - } - ], - "textString": "\"%uMax\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -100, - "y": -98 - }, - { - "x": -18, - "y": -72 - } - ], - "textString": "\"%uMin\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 226, - "y": 60 - }, - { - "x": 106, - "y": 10 - } - ], - "textString": "DynamicSelect(\"\",String(y", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "uMax": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "Limiter", - "single_component_list": { - "declaration": { - "identifier": "uMax" - }, - "description": { - "description_string": "Upper limit of input signal" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Limiter.mo" - }, - "uMin": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "Limiter", - "single_component_list": { - "declaration": { - "identifier": "uMin" - }, - "description": { - "description_string": "Lower limit of input signal" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Limiter.mo" - }, - "u": { - "type_specifier": "Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "Limiter", - "single_component_list": { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Connector of Real input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Limiter.mo" - }, - "y": { - "type_specifier": "Interfaces.RealOutput", - "type": "element", - "long_class_specifier_identifier": "Limiter", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Real output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Limiter.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Min.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Min.json deleted file mode 100644 index edc45f89..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Min.json +++ /dev/null @@ -1,372 +0,0 @@ -{ - "instances": { - "Min": { - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Min.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"min\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs y = min(u1, u2),\nwhere\nu1 and u2 are inputs.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -90, - "y": 36 - }, - { - "x": 90, - "y": -36 - } - ], - "textString": "\"min()\"", - "textColor": { - "r": 160, - "g": 160, - "b": 164 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 226, - "y": 60 - }, - { - "x": 106, - "y": 10 - } - ], - "textString": "DynamicSelect(\"\",String(y", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "u1": { - "type_specifier": "Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "Min", - "single_component_list": { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Connector of Real input signal 1", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 40 - }, - { - "x": -100, - "y": 80 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 40 - }, - { - "x": -100, - "y": 80 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Min.mo" - }, - "u2": { - "type_specifier": "Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "Min", - "single_component_list": { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Connector of Real input signal 2", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -80 - }, - { - "x": -100, - "y": -40 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -80 - }, - { - "x": -100, - "y": -40 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Min.mo" - }, - "y": { - "type_specifier": "Interfaces.RealOutput", - "type": "element", - "long_class_specifier_identifier": "Min", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Real output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Min.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.json deleted file mode 100644 index 821f27d6..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.json +++ /dev/null @@ -1,338 +0,0 @@ -{ - "instances": { - "MultiplyByParameter": { - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"gai\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs y = k * u,\nwhere\nk is a parameter and\nu is an input.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJanuary 27, 2022, by Jianjun Hu:
    \nRenamed the block name from Gain to MultiplyByParameter.
    \nThis is for issue 2865.\n
  • \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -100, - "y": -100 - }, - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": 0 - }, - { - "x": -100, - "y": -100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": -140 - }, - { - "x": 150, - "y": -100 - } - ], - "textString": ",textString=", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 144 - }, - { - "x": 150, - "y": 104 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 226, - "y": 60 - }, - { - "x": 106, - "y": 10 - } - ], - "textString": "DynamicSelect(\"\",String(y", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "k": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "MultiplyByParameter", - "single_component_list": { - "declaration": { - "identifier": "k" - }, - "description": { - "description_string": "Gain value multiplied with input signal" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.mo" - }, - "u": { - "type_specifier": "Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "MultiplyByParameter", - "single_component_list": { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Input signal connector", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.mo" - }, - "y": { - "type_specifier": "Interfaces.RealOutput", - "type": "element", - "long_class_specifier_identifier": "MultiplyByParameter", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Output signal connector", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/PID.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/PID.json deleted file mode 100644 index b13faa11..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/PID.json +++ /dev/null @@ -1,4587 +0,0 @@ -{ - "instances": { - "PID": { - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"conPID\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -6, - "y": -20 - }, - { - "x": 66, - "y": -66 - } - ], - "lineColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -32, - "y": -22 - }, - { - "x": 68, - "y": -62 - } - ], - "textString": "\"P\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "visible": "([object Object])", - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -26, - "y": -22 - }, - { - "x": 74, - "y": -62 - } - ], - "textString": "\"PI\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "visible": "([object Object])", - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -16, - "y": -22 - }, - { - "x": 88, - "y": -62 - } - ], - "textString": "\"P D\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "visible": "([object Object])", - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -14, - "y": -22 - }, - { - "x": 86, - "y": -62 - } - ], - "textString": "\"PID\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "visible": "([object Object])", - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -80, - "y": 82 - }, - { - "x": -88, - "y": 60 - }, - { - "x": -72, - "y": 60 - }, - { - "x": -80, - "y": 82 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 68 - }, - { - "x": -80, - "y": -100 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -90, - "y": -80 - }, - { - "x": 70, - "y": -80 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 74, - "y": -80 - }, - { - "x": 52, - "y": -72 - }, - { - "x": 52, - "y": -88 - }, - { - "x": 74, - "y": -80 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": -80 - }, - { - "x": -80, - "y": -22 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": -22 - }, - { - "x": 6, - "y": 56 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 6, - "y": 56 - }, - { - "x": 68, - "y": 56 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": 100, - "y": -100 - }, - { - "x": 84, - "y": -100 - }, - { - "x": null, - "y": null - }, - { - "x": 100, - "y": -100 - }, - { - "x": 84, - "y": null - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -220, - "y": -200 - }, - { - "x": 220, - "y": 200 - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -56, - "y": 180 - }, - { - "x": -24, - "y": -16 - } - ], - "fillColor": { - "r": 215, - "g": 215, - "b": 215 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -52, - "y": 184 - }, - { - "x": -28, - "y": 156 - } - ], - "textString": "\"PID\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 215, - "g": 215, - "b": 215 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nPID controller in the standard form\n

\n

\nyu = k/r   (e(t) + 1 ⁄ Ti   ∫ e(τ) dτ + Td d⁄dt e(t)),\n

\n

\nwhere\nyu is the control signal before output limitation,\ne(t) = us(t) - um(t) is the control error,\nwith us being the set point and um being\nthe measured quantity,\nk is the gain,\nTi is the time constant of the integral term,\nTd is the time constant of the derivative term,\nand\nr is a scaling factor, with default r=1.\nThe scaling factor should be set to the typical order of magnitude of the range of the error e.\nFor example, you may set r=100 to r=1000\nif the control input is a pressure of a heating water circulation pump in units of Pascal, or\nleave r=1 if the control input is a room temperature.\n

\n

\nNote that the units of k are the inverse of the units of the control error,\nwhile the units of Ti and Td are seconds.\n

\n

\nThe actual control output is\n

\n

\ny = min( ymax, max( ymin, y)),\n

\n

\nwhere ymin and ymax are limits for the control signal.\n

\n

P, PI, PD, or PID action

\n

\nThrough the parameter controllerType, the controller can be configured\nas P, PI, PD or PID controller. The default configuration is PI.\n

\n

Reverse or direct action

\n

\nThrough the parameter reverseActing, the controller can be configured to\nbe reverse or direct acting.\nThe above standard form is reverse acting, which is the default configuration.\nFor a reverse acting controller, for a constant set point,\nan increase in measurement signal u_m decreases the control output signal y\n(Montgomery and McDowall, 2008).\nThus,\n

\n
    \n
  • \n for a heating coil with a two-way valve, leave reverseActing = true, but\n
  • \n
  • \n for a cooling coil with a two-way valve, set reverseActing = false.\n
  • \n
\n

\nIf reverseAction=false, then the error e above is multiplied by -1.\n

\n

Anti-windup compensation

\n

\nThe controller anti-windup compensation is as follows:\nInstead of the above basic control law, the implementation is\n

\n

\nyu = k   (e(t) ⁄ r + 1 ⁄ Ti   ∫ (-Δy + e(τ) ⁄ r) dτ + Td ⁄ r d⁄dt e(t)),\n

\n

\nwhere the anti-windup compensation Δy is\n

\n

\nΔy = (yu - y) ⁄ (k Ni),\n

\n

\nwhere\nNi > 0 is the time constant for the anti-windup compensation.\nTo accelerate the anti-windup, decrease Ni.\n

\n

\nNote that the anti-windup term (-Δy + e(τ) ⁄ r) shows that the range of\nthe typical control error r should be set to a reasonable value so that\n

\n

\ne(τ) ⁄ r = (us(τ) - um(τ)) ⁄ r\n

\n

\nhas order of magnitude one, and hence the anti-windup compensation should work well.\n

\n

Reset of the controller output

\n

\nNote that this controller implements an integrator anti-windup. Therefore,\nfor most applications, the controller output does not need to be reset.\nHowever, if the controller is used in conjuction with equipment that is being\nswitched on, better control performance may be achieved by resetting the controller\noutput when the equipment is switched on. This is in particular the case in situations\nwhere the equipment control input should continuously increase as the equipment is\nswitched on, such as a light dimmer that may slowly increase the luminance, or\na variable speed drive of a motor that should continuously increase the speed. In\nthis case, the controller\n\nBuildings.Controls.OBC.CDL.Reals.PIDWithReset\nthat can reset the output should be used.\n

\n

Approximation of the derivative term

\n

\nThe derivative of the control error d ⁄ dt e(t) is approximated using\n

\n

\nd⁄dt x(t) = (e(t)-x(t)) Nd ⁄ Td,\n

\n

\nand\n

\n

\nd⁄dt e(t) ≈ Nd (e(t)-x(t)),\n

\n

\nwhere x(t) is an internal state.\n

\n

Guidance for tuning the control gains

\n

\nThe parameters of the controller can be manually adjusted by performing\nclosed loop tests (= controller + plant connected\ntogether) and using the following strategy:\n

\n
    \n
  1. Set very large limits, e.g., set ymax = 1000.\n
  2. \n
  3. \nSelect a P-controller and manually enlarge the parameter k\n(the total gain of the controller) until the closed-loop response\ncannot be improved any more.\n
  4. \n
  5. \nSelect a PI-controller and manually adjust the parameters\nk and Ti (the time constant of the integrator).\nThe first value of Ti can be selected such that it is in the\norder of the time constant of the oscillations occurring with\nthe P-controller. If, e.g., oscillations in the order of 100 seconds\noccur in the previous step, start with Ti=1/100 seconds.\n
  6. \n
  7. \nIf you want to make the reaction of the control loop faster\n(but probably less robust against disturbances and measurement noise)\nselect a PID-controller and manually adjust parameters\nk, Ti, Td (time constant of derivative block).\n
  8. \n
  9. \nSet the limits yMax and yMin according to your specification.\n
  10. \n
  11. \nPerform simulations such that the output of the PID controller\ngoes in its limits. Tune Ni (Ni Ti is the time constant of\nthe anti-windup compensation) such that the input to the limiter\nblock (= lim.u) goes quickly enough back to its limits.\nIf Ni is decreased, this happens faster. If Ni is very large, the\nanti-windup compensation is not effective and the controller works bad.\n
  12. \n
\n

References

\n

\nR. Montgomery and R. McDowall (2008).\n\\\"Fundamentals of HVAC Control Systems.\\\"\nAmerican Society of Heating Refrigerating and Air-Conditioning Engineers Inc. Atlanta, GA.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMay 20, 2022, by Michael Wetter:
    \nRefactored implementation to use new derivative block from CDL package.
    \nThis is for\nissue 3022.\n
  • \n
  • \nMay 6, 2022, by Michael Wetter:
    \nCorrected wrong documentation in how the derivative of the control error is approximated.
    \nThis is for\nissue 2994.\n
  • \n
  • \nNovember 12, 2020, by Michael Wetter:
    \nReformulated to remove dependency to Modelica.Units.SI.
    \nThis is for\nissue 2243.\n
  • \n
  • \nOctober 15, 2020, by Michael Wetter:
    \nAdded scaling factor r, removed set point weights wp and wd.\nRevised documentation.
    \nThis is for issue 2182.\n
  • \n
  • \nAugust 4, 2020, by Jianjun Hu:
    \nRemoved the conditional inputs trigger and y_rest_in.\nRefactored to internally implement the derivative block.
    \nThis is for issue 2056.\n
  • \n
  • \nJune 1, 2020, by Michael Wetter:
    \nCorrected wrong convention of reverse and direct action.
    \nThis is for issue 1365.\n
  • \n
  • \nApril 23, 2020, by Michael Wetter:
    \nChanged default parameters for limits yMax from unspecified to 1\nand yMin from -yMax to 0.
    \nThis is for\nissue 1888.\n
  • \n
  • \nApril 7, 2020, by Michael Wetter:
    \nReimplemented block using only CDL constructs.\nThis refactoring removes the no longer use parameters xd_start that was\nused to initialize the state of the derivative term. This state is now initialized\nbased on the requested initial output yd_start which is a new parameter\nwith a default of 0.\nAlso, removed the parameters y_start and initType because\nthe initial output of the controller can be set by using xi_start\nand yd_start.\nThis is a non-backward compatible change, made to simplify the controller through\nthe removal of options that can be realized differently and are hardly ever used.\nThis refactoring also removes the parameter strict that\nwas used in the output limiter. The new implementation enforces a strict check by default.
    \nThis is for\nissue 1878.\n
  • \n
  • \nMarch 9, 2020, by Michael Wetter:
    \nCorrected unit declaration for gain k.
    \nSee issue 1821.\n
  • \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nFebruary 25, 2020, by Michael Wetter:
    \nChanged icon to display the output value.\n
  • \n
  • \nOctober 19, 2019, by Michael Wetter:
    \nDisabled homotopy to ensure bounded outputs\nby copying the implementation from MSL 3.2.3 and by\nhardcoding the implementation for homotopyType=NoHomotopy.
    \nSee issue 1221.\n
  • \n
  • \nNovember 13, 2017, by Michael Wetter:
    \nChanged default controller type from PID to PI.\n
  • \n
  • \nNovember 6, 2017, by Michael Wetter:
    \nExplicitly declared types and used integrator with reset from CDL.\n
  • \n
  • \nOctober 22, 2017, by Michael Wetter:
    \nAdded to CDL to have a PI controller with integrator reset.\n
  • \n
  • \nSeptember 29, 2016, by Michael Wetter:
    \nRefactored model.\n
  • \n
  • \nAugust 25, 2016, by Michael Wetter:
    \nRemoved parameter limitsAtInit because it was only propagated to\nthe instance limiter, but this block no longer makes use of this parameter.\nThis is a non-backward compatible change.
    \nRevised implemenentation, added comments, made some parameter in the instances final.\n
  • \n
  • July 18, 2016, by Philipp Mehrfeld:
    \nAdded integrator reset.\nThis is for issue 494.\n
  • \n
  • \nMarch 15, 2016, by Michael Wetter:
    \nChanged the default value to strict=true in order to avoid events\nwhen the controller saturates.\nThis is for issue 433.\n
  • \n
  • \nFebruary 24, 2010, by Michael Wetter:
    \nFirst implementation.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "controllerType": { - "type_prefix": "parameter", - "type_specifier": "Buildings.Controls.OBC.CDL.Types.SimpleController", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "controllerType", - "modification": { - "equal": true, - "expression": { - "simple_expression": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" - } - } - }, - "description": { - "description_string": "Type of controller" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "k": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "k", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "1" - } - } - }, - "description": { - "description_string": "Gain of controller", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Control gains\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Control gains\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "Ti": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "Ti", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0.5" - } - } - }, - "description": { - "description_string": "Time constant of integrator block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Control gains\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Control gains\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "Td": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "Td", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0.1" - } - } - }, - "description": { - "description_string": "Time constant of derivative block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Control gains\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Control gains\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "r": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "r", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "1" - } - } - }, - "description": { - "description_string": "Typical range of control error, used for scaling the control error" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "yMax": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "yMax", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - }, - "description": { - "description_string": "Upper limit of output", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Limits\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Limits\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "yMin": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "yMin", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Lower limit of output", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Limits\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Limits\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "Ni": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "Ni", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0.9" - } - } - }, - "description": { - "description_string": "Ni*Ti is time constant of anti-windup compensation", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Integrator anti-windup\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Integrator anti-windup\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "Nd": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "Nd", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "10" - } - } - }, - "description": { - "description_string": "The higher Nd, the more ideal the derivative block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Derivative block\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Derivative block\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "xi_start": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "xi_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Initial value of integrator state", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Initialization\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Initialization\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "yd_start": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "yd_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Initial value of derivative output", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Initialization\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Initialization\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "reverseActing": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "reverseActing", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - }, - "description": { - "description_string": "Set to true for reverse acting, or false for direct acting control action" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "u_s": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "u_s" - }, - "description": { - "description_string": "Connector of setpoint input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -260, - "y": -20 - }, - { - "x": -220, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -260, - "y": -20 - }, - { - "x": -220, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "u_m": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "u_m" - }, - "description": { - "description_string": "Connector of measurement input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "origin": { - "x": 0, - "y": -220 - }, - "extent": [ - { - "x": 20, - "y": -20 - }, - { - "x": -20, - "y": 20 - } - ], - "rotation": 270 - }, - "iconTransformation": { - "origin": { - "x": 0, - "y": -120 - }, - "extent": [ - { - "x": 20, - "y": -20 - }, - { - "x": -20, - "y": 20 - } - ], - "rotation": 270 - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "origin": { - "x": 0, - "y": -220 - }, - "extent": [ - { - "x": 20, - "y": -20 - }, - { - "x": -20, - "y": 20 - } - ], - "rotation": 270 - }, - "iconTransformation": { - "origin": { - "x": 0, - "y": -120 - }, - "extent": [ - { - "x": 20, - "y": -20 - }, - { - "x": -20, - "y": 20 - } - ], - "rotation": 270 - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "y": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of actuator output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 220, - "y": -20 - }, - { - "x": 260, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 220, - "y": -20 - }, - { - "x": 260, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "controlError": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "controlError" - }, - "description": { - "description_string": "Control error (set point - measurement)", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -200, - "y": -16 - }, - { - "x": -180, - "y": 4 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -200, - "y": -16 - }, - { - "x": -180, - "y": 4 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "P": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "P", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "k" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Gain for proportional control action", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 130 - }, - { - "x": -30, - "y": 150 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 130 - }, - { - "x": -30, - "y": 150 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "I": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.IntegratorWithReset", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "I", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "k/Ti" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "xi_start" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Integral term", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": -10 - }, - { - "x": -30, - "y": 10 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": -10 - }, - { - "x": -30, - "y": 10 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "D": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Derivative", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "D", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "yd_start" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_D" - } - }, - "description": { - "description_string": "Derivative term", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 60 - }, - { - "x": -30, - "y": 80 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 60 - }, - { - "x": -30, - "y": 80 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "errP": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "errP" - }, - "description": { - "description_string": "P error", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 130 - }, - { - "x": -120, - "y": 150 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 130 - }, - { - "x": -120, - "y": 150 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "errD": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "errD" - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_D" - } - }, - "description": { - "description_string": "D error", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 60 - }, - { - "x": -120, - "y": 80 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 60 - }, - { - "x": -120, - "y": 80 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "errI1": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "errI1" - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "I error (before anti-windup compensation)", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -4 - }, - { - "x": -120, - "y": 16 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -4 - }, - { - "x": -120, - "y": 16 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "errI2": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "errI2" - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "I error (after anti-windup compensation)", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": -10 - }, - { - "x": -80, - "y": 10 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": -10 - }, - { - "x": -80, - "y": 10 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "lim": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Limiter", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "lim", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "uMax", - "modification": { - "equal": true, - "expression": { - "simple_expression": "yMax" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "uMin", - "modification": { - "equal": true, - "expression": { - "simple_expression": "yMin" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Limiter", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 120, - "y": 80 - }, - { - "x": 140, - "y": 100 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 120, - "y": 80 - }, - { - "x": 140, - "y": 100 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "revAct": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "revAct", - "modification": { - "equal": true, - "expression": { - "if_expression": { - "if_elseif": [ - { - "condition": { - "simple_expression": "reverseActing" - }, - "then": { - "simple_expression": "1" - } - } - ], - "else_expression": { - "simple_expression": "-1" - } - } - } - } - }, - "description": { - "description_string": "Switch for sign for reverse or direct acting controller" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "with_I": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "with_I", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - }, - "description": { - "description_string": "Boolean flag to enable integral action", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "HideResult", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "HideResult", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "with_D": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "with_D", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - }, - "description": { - "description_string": "Boolean flag to enable derivative action", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "HideResult", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "HideResult", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "kDer": { - "type_specifier": "Sources.Constant", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "kDer", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "k*Td" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_D" - } - }, - "description": { - "description_string": "Gain for derivative block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": 110 - }, - { - "x": -80, - "y": 130 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": 110 - }, - { - "x": -80, - "y": 130 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "TDer": { - "type_specifier": "Sources.Constant", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "TDer", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "Td/Nd" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_D" - } - }, - "description": { - "description_string": "Time constant for approximation in derivative block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": 80 - }, - { - "x": -80, - "y": 100 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": 80 - }, - { - "x": -80, - "y": 100 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "Dzero": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "Dzero", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "not with_D" - } - }, - "description": { - "description_string": "Zero input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "HideResult", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 90 - }, - { - "x": -30, - "y": 110 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "HideResult", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 90 - }, - { - "x": -30, - "y": 110 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "uS_revAct": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "uS_revAct", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "revAct/r" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Set point multiplied by reverse action sign", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -200, - "y": 30 - }, - { - "x": -180, - "y": 50 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -200, - "y": 30 - }, - { - "x": -180, - "y": 50 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "uMea_revAct": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "uMea_revAct", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "revAct/r" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Set point multiplied by reverse action sign", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -200, - "y": -50 - }, - { - "x": -180, - "y": -30 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -200, - "y": -50 - }, - { - "x": -180, - "y": -30 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "addPD": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "addPD" - }, - "description": { - "description_string": "Outputs P and D gains added", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 20, - "y": 124 - }, - { - "x": 40, - "y": 144 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 20, - "y": 124 - }, - { - "x": 40, - "y": 144 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "addPID": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "addPID" - }, - "description": { - "description_string": "Outputs P, I and D gains added", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 80, - "y": 80 - }, - { - "x": 100, - "y": 100 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 80, - "y": 80 - }, - { - "x": 100, - "y": 100 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "antWinErr": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "antWinErr" - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Error for anti-windup compensation", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 160, - "y": 50 - }, - { - "x": 180, - "y": 70 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 160, - "y": 50 - }, - { - "x": 180, - "y": 70 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "antWinGai": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "antWinGai", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1/(k*Ni)" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Gain for anti-windup compensation", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 180, - "y": -30 - }, - { - "x": 160, - "y": -10 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 180, - "y": -30 - }, - { - "x": 160, - "y": -10 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "cheYMinMax": { - "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Sources.Constant", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "cheYMinMax", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "yMin" - }, - { - "name": "yMax" - } - ], - "relation_operator": "<" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Check for values of yMin and yMax", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 120, - "y": -160 - }, - { - "x": 140, - "y": -140 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 120, - "y": -160 - }, - { - "x": 140, - "y": -140 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "assMesYMinMax": { - "type_specifier": "Buildings.Controls.OBC.CDL.Utilities.Assert", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "assMesYMinMax", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "message", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"LimPID: Limits must be yMin < yMax\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Assertion on yMin and yMax", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 160, - "y": -160 - }, - { - "x": 180, - "y": -140 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 160, - "y": -160 - }, - { - "x": 180, - "y": -140 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "Izero": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "Izero", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "not with_I" - } - }, - "description": { - "description_string": "Zero input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 20 - }, - { - "x": -30, - "y": 40 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 20 - }, - { - "x": -30, - "y": 40 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "con": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "con", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Constant zero", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": -50 - }, - { - "x": -80, - "y": -30 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": -50 - }, - { - "x": -80, - "y": -30 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - }, - "con1": { - "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Sources.Constant", - "type": "element", - "long_class_specifier_identifier": "PID", - "single_component_list": { - "declaration": { - "identifier": "con1", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "false" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Constant false", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": -90 - }, - { - "x": -80, - "y": -70 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": -90 - }, - { - "x": -80, - "y": -70 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo" - } - }, - "requiredReferences": { - "connections": { - "u_s": [ - "uS_revAct.u", - "controlError.u1" - ], - "u_m": [ - "uMea_revAct.u", - "controlError.u2" - ], - "D.u": [ - "errD.y" - ], - "errI1.u1": [ - "uS_revAct.y" - ], - "addPID.u1": [ - "addPD.y" - ], - "lim.y": [ - "y" - ], - "antWinErr.y": [ - "antWinGai.u" - ], - "addPD.u2": [ - "Dzero.y" - ], - "D.y": [ - "addPD.u2" - ], - "addPID.u2": [ - "I.y" - ], - "antWinErr.u2": [ - "lim.y" - ], - "I.u": [ - "errI2.y" - ], - "errI1.y": [ - "errI2.u1" - ], - "cheYMinMax.y": [ - "assMesYMinMax.u" - ], - "Izero.y": [ - "addPID.u2" - ], - "con.y": [ - "I.y_reset_in" - ], - "con1.y": [ - "I.trigger" - ], - "uS_revAct.y": [ - "errP.u1" - ], - "errD.u1": [ - "uS_revAct.y" - ], - "addPD.u1": [ - "P.y" - ], - "P.u": [ - "errP.y" - ], - "addPID.y": [ - "lim.u", - "antWinErr.u1" - ], - "uMea_revAct.y": [ - "errP.u2", - "errD.u2", - "errI1.u2" - ], - "antWinGai.y": [ - "errI2.u2" - ], - "kDer.y": [ - "D.k" - ], - "TDer.y": [ - "D.T" - ] - } - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.json deleted file mode 100644 index c54ef67f..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.json +++ /dev/null @@ -1,4854 +0,0 @@ -{ - "instances": { - "PIDWithReset": { - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"conPID\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -6, - "y": -20 - }, - { - "x": 66, - "y": -66 - } - ], - "lineColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -32, - "y": -22 - }, - { - "x": 68, - "y": -62 - } - ], - "textString": "\"P\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "visible": "([object Object])", - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -26, - "y": -22 - }, - { - "x": 74, - "y": -62 - } - ], - "textString": "\"PI\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "visible": "([object Object])", - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -16, - "y": -22 - }, - { - "x": 88, - "y": -62 - } - ], - "textString": "\"P D\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "visible": "([object Object])", - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -14, - "y": -22 - }, - { - "x": 86, - "y": -62 - } - ], - "textString": "\"PID\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "visible": "([object Object])", - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -80, - "y": 82 - }, - { - "x": -88, - "y": 60 - }, - { - "x": -72, - "y": 60 - }, - { - "x": -80, - "y": 82 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 68 - }, - { - "x": -80, - "y": -100 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -90, - "y": -80 - }, - { - "x": 70, - "y": -80 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 74, - "y": -80 - }, - { - "x": 52, - "y": -72 - }, - { - "x": 52, - "y": -88 - }, - { - "x": 74, - "y": -80 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": -80 - }, - { - "x": -80, - "y": -22 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": -22 - }, - { - "x": 6, - "y": 56 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 6, - "y": 56 - }, - { - "x": 68, - "y": 56 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": 100, - "y": -100 - }, - { - "x": 84, - "y": -100 - }, - { - "x": null, - "y": null - }, - { - "x": 100, - "y": -100 - }, - { - "x": 84, - "y": null - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 175, - "g": 175, - "b": 175 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -220, - "y": -200 - }, - { - "x": 220, - "y": 200 - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -56, - "y": 180 - }, - { - "x": -24, - "y": -16 - } - ], - "fillColor": { - "r": 215, - "g": 215, - "b": 215 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -52, - "y": 184 - }, - { - "x": -28, - "y": 156 - } - ], - "textString": "\"PID\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 215, - "g": 215, - "b": 215 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nPID controller in the standard form\n

\n

\nyu = k/r   (e(t) + 1 ⁄ Ti   ∫ e(τ) dτ + Td d⁄dt e(t)),\n

\n

\nwith output reset,\nwhere\nyu is the control signal before output limitation,\ne(t) = us(t) - um(t) is the control error,\nwith us being the set point and um being\nthe measured quantity,\nk is the gain,\nTi is the time constant of the integral term,\nTd is the time constant of the derivative term,\nand\nr is a scaling factor, with default r=1.\nThe scaling factor should be set to the typical order of magnitude of the range of the error e.\nFor example, you may set r=100 to r=1000\nif the control input is a pressure of a heating water circulation pump in units of Pascal, or\nleave r=1 if the control input is a room temperature.\n

\n

\nNote that the units of k are the inverse of the units of the control error,\nwhile the units of Ti and Td are seconds.\n

\n

\nThe actual control output is\n

\n

\ny = min( ymax, max( ymin, y)),\n

\n

\nwhere ymin and ymax are limits for the control signal.\n

\n

P, PI, PD, or PID action

\n

\nThrough the parameter controllerType, the controller can be configured\nas P, PI, PD or PID controller. The default configuration is PI.\n

\n

Reverse or direct action

\n

\nThrough the parameter reverseActing, the controller can be configured to\nbe reverse or direct acting.\nThe above standard form is reverse acting, which is the default configuration.\nFor a reverse acting controller, for a constant set point,\nan increase in measurement signal u_m decreases the control output signal y\n(Montgomery and McDowall, 2008).\nThus,\n

\n
    \n
  • \n for a heating coil with a two-way valve, leave reverseActing = true, but\n
  • \n
  • \n for a cooling coil with a two-way valve, set reverseActing = false.\n
  • \n
\n

\nIf reverseAction=false, then the error e above is multiplied by -1.\n

\n

Anti-windup compensation

\n

\nThe controller anti-windup compensation is as follows:\nInstead of the above basic control law, the implementation is\n

\n

\nyu = k   (e(t) ⁄ r + 1 ⁄ Ti   ∫ (-Δy + e(τ) ⁄ r) dτ + Td ⁄ r d⁄dt e(t)),\n

\n

\nwhere the anti-windup compensation Δy is\n

\n

\nΔy = (yu - y) ⁄ (k Ni),\n

\n

\nwhere\nNi > 0 is the time constant for the anti-windup compensation.\nTo accelerate the anti-windup, decrease Ni.\n

\n

\nNote that the anti-windup term (-Δy + e(τ) ⁄ r) shows that the range of\nthe typical control error r should be set to a reasonable value so that\n

\n

\ne(τ) ⁄ r = (us(τ) - um(τ)) ⁄ r\n

\n

\nhas order of magnitude one, and hence the anti-windup compensation should work well.\n

\n

Reset of the controller output

\n

\nWhenever the value of boolean input signal trigger changes from\nfalse to true, the controller output is reset by setting\ny to the value of the parameter y_reset.\n

\n

Approximation of the derivative term

\n

\nThe derivative of the control error d ⁄ dt e(t) is approximated using\n

\n

\nd⁄dt x(t) = (e(t)-x(t)) Nd ⁄ Td,\n

\n

\nand\n

\n

\nd⁄dt e(t) ≈ Nd (e(t)-x(t)),\n

\n

\nwhere x(t) is an internal state.\n

\n

Guidance for tuning the control gains

\n

\nThe parameters of the controller can be manually adjusted by performing\nclosed loop tests (= controller + plant connected\ntogether) and using the following strategy:\n

\n
    \n
  1. Set very large limits, e.g., set ymax = 1000.\n
  2. \n
  3. \nSelect a P-controller and manually enlarge the parameter k\n(the total gain of the controller) until the closed-loop response\ncannot be improved any more.\n
  4. \n
  5. \nSelect a PI-controller and manually adjust the parameters\nk and Ti (the time constant of the integrator).\nThe first value of Ti can be selected such that it is in the\norder of the time constant of the oscillations occurring with\nthe P-controller. If, e.g., oscillations in the order of 100 seconds\noccur in the previous step, start with Ti=1/100 seconds.\n
  6. \n
  7. \nIf you want to make the reaction of the control loop faster\n(but probably less robust against disturbances and measurement noise)\nselect a PID-controller and manually adjust parameters\nk, Ti, Td (time constant of derivative block).\n
  8. \n
  9. \nSet the limits yMax and yMin according to your specification.\n
  10. \n
  11. \nPerform simulations such that the output of the PID controller\ngoes in its limits. Tune Ni (Ni Ti is the time constant of\nthe anti-windup compensation) such that the input to the limiter\nblock (= lim.u) goes quickly enough back to its limits.\nIf Ni is decreased, this happens faster. If Ni is very large, the\nanti-windup compensation is not effective and the controller works bad.\n
  12. \n
\n

References

\n

\nR. Montgomery and R. McDowall (2008).\n\\\"Fundamentals of HVAC Control Systems.\\\"\nAmerican Society of Heating Refrigerating and Air-Conditioning Engineers Inc. Atlanta, GA.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMay 20, 2022, by Michael Wetter:
    \nRefactored implementation to use new derivative block from CDL package.
    \nThis is for\nissue 3022.\n
  • \n
  • \nMay 6, 2022, by Michael Wetter:
    \nCorrected wrong documentation in how the derivative of the control error is approximated.
    \nThis is for\nissue 2994.\n
  • \n
  • \nApril 30, 2021, by Michael Wetter:
    \nCorrected error in non-released development version\nwhen reset trigger is true.
    \nRefactored implementation to have separate blocks that show the P, I and D contribution,\neach with the control gain applied.
    \nThis is for\nissue 2475.\n
  • \n
  • \nNovember 12, 2020, by Michael Wetter:
    \nReformulated to remove dependency to Modelica.Units.SI.
    \nThis is for\nissue 2243.\n
  • \n
  • \nOctober 15, 2020, by Michael Wetter:
    \nAdded scaling factor r, removed set point weights wp and wd.\nRevised documentation.
    \nThis is for issue 2182.\n
  • \n
  • \nAugust 4, 2020, by Jianjun Hu:
    \nRemoved the input y_reset_in.\nRefactored to internally implement the derivative block.
    \nThis is for issue 2056.\n
  • \n
  • \nJune 1, 2020, by Michael Wetter:
    \nCorrected wrong convention of reverse and direct action.
    \nThis is for issue 1365.\n
  • \n
  • \nApril 23, 2020, by Michael Wetter:
    \nChanged default parameters for limits yMax from unspecified to 1\nand yMin from -yMax to 0.
    \nThis is for\nissue 1888.\n
  • \n
  • \nApril 7, 2020, by Michael Wetter:
    \nReimplemented block using only CDL constructs.\nThis refactoring removes the no longer use parameters xd_start that was\nused to initialize the state of the derivative term. This state is now initialized\nbased on the requested initial output yd_start which is a new parameter\nwith a default of 0.\nAlso, removed the parameters y_start and initType because\nthe initial output of the controller can be set by using xi_start\nand yd_start.\nThis is a non-backward compatible change, made to simplify the controller through\nthe removal of options that can be realized differently and are hardly ever used.\nThis refactoring also removes the parameter strict that\nwas used in the output limiter. The new implementation enforces a strict check by default.
    \nThis is for\nissue 1878.\n
  • \n
  • \nMarch 9, 2020, by Michael Wetter:
    \nCorrected unit declaration for gain k.
    \nSee issue 1821.\n
  • \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nFebruary 25, 2020, by Michael Wetter:
    \nChanged icon to display the output value.\n
  • \n
  • \nOctober 19, 2019, by Michael Wetter:
    \nDisabled homotopy to ensure bounded outputs\nby copying the implementation from MSL 3.2.3 and by\nhardcoding the implementation for homotopyType=NoHomotopy.
    \nSee issue 1221.\n
  • \n
  • \nNovember 13, 2017, by Michael Wetter:
    \nChanged default controller type from PID to PI.\n
  • \n
  • \nNovember 6, 2017, by Michael Wetter:
    \nExplicitly declared types and used integrator with reset from CDL.\n
  • \n
  • \nOctober 22, 2017, by Michael Wetter:
    \nAdded to CDL to have a PI controller with integrator reset.\n
  • \n
  • \nSeptember 29, 2016, by Michael Wetter:
    \nRefactored model.\n
  • \n
  • \nAugust 25, 2016, by Michael Wetter:
    \nRemoved parameter limitsAtInit because it was only propagated to\nthe instance limiter, but this block no longer makes use of this parameter.\nThis is a non-backward compatible change.
    \nRevised implemenentation, added comments, made some parameter in the instances final.\n
  • \n
  • July 18, 2016, by Philipp Mehrfeld:
    \nAdded integrator reset.\nThis is for issue 494.\n
  • \n
  • \nMarch 15, 2016, by Michael Wetter:
    \nChanged the default value to strict=true in order to avoid events\nwhen the controller saturates.\nThis is for issue 433.\n
  • \n
  • \nFebruary 24, 2010, by Michael Wetter:
    \nFirst implementation.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "controllerType": { - "type_prefix": "parameter", - "type_specifier": "Buildings.Controls.OBC.CDL.Types.SimpleController", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "controllerType", - "modification": { - "equal": true, - "expression": { - "simple_expression": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" - } - } - }, - "description": { - "description_string": "Type of controller" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "k": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "k", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "1" - } - } - }, - "description": { - "description_string": "Gain of controller", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Control gains\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Control gains\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "Ti": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "Ti", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0.5" - } - } - }, - "description": { - "description_string": "Time constant of integrator block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Control gains\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Control gains\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "Td": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "Td", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0.1" - } - } - }, - "description": { - "description_string": "Time constant of derivative block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Control gains\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Control gains\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "r": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "r", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "1" - } - } - }, - "description": { - "description_string": "Typical range of control error, used for scaling the control error" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "yMax": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "yMax", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - }, - "description": { - "description_string": "Upper limit of output", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Limits\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Limits\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "yMin": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "yMin", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Lower limit of output", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Limits\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Limits\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "Ni": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "Ni", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "0.9" - } - } - }, - "description": { - "description_string": "Ni*Ti is time constant of anti-windup compensation", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Integrator anti-windup\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Integrator anti-windup\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "Nd": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "Nd", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "min", - "modification": { - "equal": true, - "expression": { - "simple_expression": "100*Constants.eps" - } - } - } - } - } - ], - "equal": true, - "expression": { - "simple_expression": "10" - } - } - }, - "description": { - "description_string": "The higher Nd, the more ideal the derivative block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Derivative block\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Derivative block\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "xi_start": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "xi_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Initial value of integrator state", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Initialization\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Initialization\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "yd_start": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "yd_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - }, - "description": { - "description_string": "Initial value of derivative output", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Initialization\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "tab", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Advanced\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Initialization\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "reverseActing": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "reverseActing", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - }, - "description": { - "description_string": "Set to true for reverse acting, or false for direct acting control action" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "y_reset": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "y_reset", - "modification": { - "equal": true, - "expression": { - "simple_expression": "xi_start" - } - } - }, - "description": { - "description_string": "Value to which the controller output is reset if the boolean trigger has a rising edge", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Integrator reset\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Dialog", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "group", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Integrator reset\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "u_s": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "u_s" - }, - "description": { - "description_string": "Connector of setpoint input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -260, - "y": -20 - }, - { - "x": -220, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -260, - "y": -20 - }, - { - "x": -220, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "u_m": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "u_m" - }, - "description": { - "description_string": "Connector of measurement input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "origin": { - "x": 0, - "y": -220 - }, - "extent": [ - { - "x": 20, - "y": -20 - }, - { - "x": -20, - "y": 20 - } - ], - "rotation": 270 - }, - "iconTransformation": { - "origin": { - "x": 0, - "y": -120 - }, - "extent": [ - { - "x": 20, - "y": -20 - }, - { - "x": -20, - "y": 20 - } - ], - "rotation": 270 - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "origin": { - "x": 0, - "y": -220 - }, - "extent": [ - { - "x": 20, - "y": -20 - }, - { - "x": -20, - "y": 20 - } - ], - "rotation": 270 - }, - "iconTransformation": { - "origin": { - "x": 0, - "y": -120 - }, - "extent": [ - { - "x": 20, - "y": -20 - }, - { - "x": -20, - "y": 20 - } - ], - "rotation": 270 - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "y": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of actuator output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 220, - "y": -20 - }, - { - "x": 260, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 220, - "y": -20 - }, - { - "x": 260, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "trigger": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "trigger" - }, - "description": { - "description_string": "Resets the controller output when trigger becomes true", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "origin": { - "x": -160, - "y": -220 - }, - "extent": [ - { - "x": -20, - "y": -20 - }, - { - "x": 20, - "y": 20 - } - ], - "rotation": 90 - }, - "iconTransformation": { - "origin": { - "x": -60, - "y": -120 - }, - "extent": [ - { - "x": -20, - "y": -20 - }, - { - "x": 20, - "y": 20 - } - ], - "rotation": 90 - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "origin": { - "x": -160, - "y": -220 - }, - "extent": [ - { - "x": -20, - "y": -20 - }, - { - "x": 20, - "y": 20 - } - ], - "rotation": 90 - }, - "iconTransformation": { - "origin": { - "x": -60, - "y": -120 - }, - "extent": [ - { - "x": -20, - "y": -20 - }, - { - "x": 20, - "y": 20 - } - ], - "rotation": 90 - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "controlError": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "controlError" - }, - "description": { - "description_string": "Control error (set point - measurement)", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -200, - "y": -16 - }, - { - "x": -180, - "y": 4 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -200, - "y": -16 - }, - { - "x": -180, - "y": 4 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "P": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "P", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "k" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Proportional action", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 130 - }, - { - "x": -30, - "y": 150 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 130 - }, - { - "x": -30, - "y": 150 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "I": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.IntegratorWithReset", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "I", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "k/Ti" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "xi_start" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Integral term", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": -10 - }, - { - "x": -30, - "y": 10 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": -10 - }, - { - "x": -30, - "y": 10 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "D": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Derivative", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "D", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "y_start", - "modification": { - "equal": true, - "expression": { - "simple_expression": "yd_start" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_D" - } - }, - "description": { - "description_string": "Derivative term", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 60 - }, - { - "x": -30, - "y": 80 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 60 - }, - { - "x": -30, - "y": 80 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "errP": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "errP" - }, - "description": { - "description_string": "P error", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 130 - }, - { - "x": -120, - "y": 150 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 130 - }, - { - "x": -120, - "y": 150 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "errD": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "errD" - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_D" - } - }, - "description": { - "description_string": "D error", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 60 - }, - { - "x": -120, - "y": 80 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 60 - }, - { - "x": -120, - "y": 80 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "errI1": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "errI1" - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "I error (before anti-windup compensation)", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -4 - }, - { - "x": -120, - "y": 16 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -4 - }, - { - "x": -120, - "y": 16 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "errI2": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "errI2" - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "I error (after anti-windup compensation)", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": -10 - }, - { - "x": -80, - "y": 10 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": -10 - }, - { - "x": -80, - "y": 10 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "lim": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Limiter", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "lim", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "uMax", - "modification": { - "equal": true, - "expression": { - "simple_expression": "yMax" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "uMin", - "modification": { - "equal": true, - "expression": { - "simple_expression": "yMin" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Limiter", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 120, - "y": 80 - }, - { - "x": 140, - "y": 100 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 120, - "y": 80 - }, - { - "x": 140, - "y": 100 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "revAct": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "revAct", - "modification": { - "equal": true, - "expression": { - "if_expression": { - "if_elseif": [ - { - "condition": { - "simple_expression": "reverseActing" - }, - "then": { - "simple_expression": "1" - } - } - ], - "else_expression": { - "simple_expression": "-1" - } - } - } - } - }, - "description": { - "description_string": "Switch for sign for reverse or direct acting controller" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "with_I": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "with_I", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - }, - "description": { - "description_string": "Boolean flag to enable integral action", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "HideResult", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "HideResult", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "with_D": { - "type_prefix": "parameter", - "type_specifier": "Boolean", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "with_D", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PD" - } - ], - "relation_operator": "==" - } - ] - }, - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "controllerType" - }, - { - "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PID" - } - ], - "relation_operator": "==" - } - ] - } - ] - } - } - } - } - }, - "description": { - "description_string": "Boolean flag to enable derivative action", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "HideResult", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "HideResult", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "kDer": { - "type_specifier": "Sources.Constant", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "kDer", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "k*Td" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_D" - } - }, - "description": { - "description_string": "Gain for derivative block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": 110 - }, - { - "x": -80, - "y": 130 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": 110 - }, - { - "x": -80, - "y": 130 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "TDer": { - "type_specifier": "Sources.Constant", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "TDer", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "Td/Nd" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_D" - } - }, - "description": { - "description_string": "Time constant for approximation in derivative block", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": 80 - }, - { - "x": -80, - "y": 100 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": 80 - }, - { - "x": -80, - "y": 100 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "Dzero": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "Dzero", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "not with_D" - } - }, - "description": { - "description_string": "Zero input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "HideResult", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 90 - }, - { - "x": -30, - "y": 110 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Evaluate", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "HideResult", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 90 - }, - { - "x": -30, - "y": 110 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "Izero": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "Izero", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "0" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "not with_I" - } - }, - "description": { - "description_string": "Zero input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 20 - }, - { - "x": -30, - "y": 40 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 20 - }, - { - "x": -30, - "y": 40 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "uS_revAct": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "uS_revAct", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "revAct/r" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Set point multiplied by reverse action sign", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -200, - "y": 30 - }, - { - "x": -180, - "y": 50 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -200, - "y": 30 - }, - { - "x": -180, - "y": 50 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "uMea_revAct": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "uMea_revAct", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "revAct/r" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Set point multiplied by reverse action sign", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -200, - "y": -50 - }, - { - "x": -180, - "y": -30 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -200, - "y": -50 - }, - { - "x": -180, - "y": -30 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "addPD": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "addPD" - }, - "description": { - "description_string": "Outputs P and D gains added", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 20, - "y": 124 - }, - { - "x": 40, - "y": 144 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 20, - "y": 124 - }, - { - "x": 40, - "y": 144 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "addPID": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "addPID" - }, - "description": { - "description_string": "Outputs P, I and D gains added", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 80, - "y": 80 - }, - { - "x": 100, - "y": 100 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 80, - "y": 80 - }, - { - "x": 100, - "y": 100 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "antWinErr": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "antWinErr" - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Error for anti-windup compensation", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 160, - "y": 50 - }, - { - "x": 180, - "y": 70 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 160, - "y": 50 - }, - { - "x": 180, - "y": 70 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "antWinGai": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "antWinGai", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1/(k*Ni)" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Gain for anti-windup compensation", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 180, - "y": -30 - }, - { - "x": 160, - "y": -10 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 180, - "y": -30 - }, - { - "x": 160, - "y": -10 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "yResSig": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "yResSig", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": "y_reset" - } - } - } - } - } - ] - } - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Signal for y_reset", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -84 - }, - { - "x": -120, - "y": -64 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -84 - }, - { - "x": -120, - "y": -64 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "addRes": { - "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "addRes" - }, - "condition_attribute": { - "expression": { - "simple_expression": "with_I" - } - }, - "description": { - "description_string": "Adder for integrator reset", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": -90 - }, - { - "x": -80, - "y": -70 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -100, - "y": -90 - }, - { - "x": -80, - "y": -70 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "cheYMinMax": { - "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Sources.Constant", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "cheYMinMax", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "k", - "modification": { - "equal": true, - "expression": { - "simple_expression": { - "logical_expression": { - "logical_or": [ - { - "logical_and": [ - { - "arithmetic_expressions": [ - { - "name": "yMin" - }, - { - "name": "yMax" - } - ], - "relation_operator": "<" - } - ] - } - ] - } - } - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Check for values of yMin and yMax", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 120, - "y": -160 - }, - { - "x": 140, - "y": -140 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 120, - "y": -160 - }, - { - "x": 140, - "y": -140 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - }, - "assMesYMinMax": { - "type_specifier": "Buildings.Controls.OBC.CDL.Utilities.Assert", - "type": "element", - "long_class_specifier_identifier": "PIDWithReset", - "single_component_list": { - "declaration": { - "identifier": "assMesYMinMax", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "message", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"LimPID: Limits must be yMin < yMax\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Assertion on yMin and yMax", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 160, - "y": -160 - }, - { - "x": 180, - "y": -140 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 160, - "y": -160 - }, - { - "x": 180, - "y": -140 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo" - } - }, - "requiredReferences": { - "connections": { - "trigger": [ - "I.trigger" - ], - "u_s": [ - "uS_revAct.u" - ], - "u_m": [ - "uMea_revAct.u", - "controlError.u2" - ], - "errD.u2": [ - "uMea_revAct.y" - ], - "D.u": [ - "errD.y" - ], - "errI1.u1": [ - "uS_revAct.y" - ], - "addPID.u1": [ - "addPD.y" - ], - "lim.y": [ - "y" - ], - "antWinErr.y": [ - "antWinGai.u" - ], - "addPD.u2": [ - "Dzero.y" - ], - "D.y": [ - "addPD.u2" - ], - "addPID.u2": [ - "I.y" - ], - "addRes.y": [ - "I.y_reset_in" - ], - "antWinErr.u2": [ - "lim.y" - ], - "I.u": [ - "errI2.y" - ], - "errI1.y": [ - "errI2.u1" - ], - "controlError.u1": [ - "u_s" - ], - "cheYMinMax.y": [ - "assMesYMinMax.u" - ], - "Izero.y": [ - "addPID.u2" - ], - "errP.u1": [ - "uS_revAct.y" - ], - "errD.u1": [ - "uS_revAct.y" - ], - "addPD.u1": [ - "P.y" - ], - "P.u": [ - "errP.y" - ], - "addPID.y": [ - "lim.u", - "antWinErr.u1" - ], - "addRes.u1": [ - "yResSig.y" - ], - "uMea_revAct.y": [ - "errP.u2", - "errI1.u2" - ], - "antWinGai.y": [ - "errI2.u2" - ], - "addPD.y": [ - "addRes.u2" - ], - "kDer.y": [ - "D.k" - ], - "TDer.y": [ - "D.T" - ] - } - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.json deleted file mode 100644 index 9f485cf0..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.json +++ /dev/null @@ -1,393 +0,0 @@ -{ - "instances": { - "Constant": { - "within": "Buildings.Controls.OBC.CDL.Reals.Sources", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"con\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 110 - }, - { - "x": 150, - "y": 150 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 68 - }, - { - "x": -80, - "y": -80 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": -80, - "y": 90 - }, - { - "x": -88, - "y": 68 - }, - { - "x": -72, - "y": 68 - }, - { - "x": -80, - "y": 90 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -90, - "y": -70 - }, - { - "x": 82, - "y": -70 - } - ], - "color": { - "r": 192, - "g": 192, - "b": 192 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 90, - "y": -70 - }, - { - "x": 68, - "y": -62 - }, - { - "x": 68, - "y": -78 - }, - { - "x": 90, - "y": -70 - } - ], - "lineColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillColor": { - "r": 192, - "g": 192, - "b": 192 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -80, - "y": 0 - }, - { - "x": 80, - "y": 0 - } - ] - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": -150 - }, - { - "x": 150, - "y": -110 - } - ], - "textString": ",textString=", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 226, - "y": 60 - }, - { - "x": 106, - "y": 10 - } - ], - "textString": "DynamicSelect(\"\",String(y", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs a constant signal y = k,\nwhere k is a real-valued parameter.\n

\n

\n\\\"Constant.png\\\"\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nMarch 16, 2017, by Jianjun Hu:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "k": { - "type_prefix": "parameter", - "type_specifier": "Real", - "type": "element", - "long_class_specifier_identifier": "Constant", - "single_component_list": { - "declaration": { - "identifier": "k" - }, - "description": { - "description_string": "Constant output value" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals.Sources", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.mo" - }, - "y": { - "type_specifier": "Interfaces.RealOutput", - "type": "element", - "long_class_specifier_identifier": "Constant", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Real output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals.Sources", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Subtract.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Subtract.json deleted file mode 100644 index e7a5c6c3..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Subtract.json +++ /dev/null @@ -1,466 +0,0 @@ -{ - "instances": { - "Subtract": { - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Subtract.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"sub\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs y as the difference of the\ntwo input signals u1 and u2,\n

\n
\n    y = u1 - u2\n
\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nJanuary 28, 2022, by Jianjun Hu:
    \nFirst implementation.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -50, - "y": -50 - }, - { - "x": 50, - "y": 50 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -100, - "y": 60 - }, - { - "x": -74, - "y": 24 - }, - { - "x": -44, - "y": 24 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -100, - "y": -60 - }, - { - "x": -74, - "y": -28 - }, - { - "x": -42, - "y": -28 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 50, - "y": 0 - }, - { - "x": 100, - "y": 0 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -38, - "y": -28 - }, - { - "x": 38, - "y": 40 - } - ], - "textString": "\"-\"", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": 226, - "y": 60 - }, - { - "x": 106, - "y": 10 - } - ], - "textString": "DynamicSelect(\"\",String(y", - "textColor": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - ] - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "u1": { - "type_specifier": "Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "Subtract", - "single_component_list": { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Connector of Real input signal 1", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 40 - }, - { - "x": -100, - "y": 80 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 40 - }, - { - "x": -100, - "y": 80 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Subtract.mo" - }, - "u2": { - "type_specifier": "Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "Subtract", - "single_component_list": { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Connector of Real input signal 2", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -80 - }, - { - "x": -100, - "y": -40 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -80 - }, - { - "x": -100, - "y": -40 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Subtract.mo" - }, - "y": { - "type_specifier": "Interfaces.RealOutput", - "type": "element", - "long_class_specifier_identifier": "Subtract", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Connector of Real output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Subtract.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Switch.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Switch.json deleted file mode 100644 index 2b6cf8b6..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Reals/Switch.json +++ /dev/null @@ -1,618 +0,0 @@ -{ - "instances": { - "Switch": { - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Switch.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"swi\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that outputs one of two real input signals based on a boolean input signal.\n

\n

\nIf the input signal u2 is true,\nthe block outputs y = u1.\nOtherwise, it outputs y = u3.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nFebruary 27, 2023, by Michael Wetter:
    \nAdded smoothOrder(0, ...) as Dymola 2023x assumes y to be\nsmooth, and simulations can then fail if it differentiated this output.\n
  • \n
  • \nJuly 17, 2020, by Jianjun Hu:
    \nChanged icon to display dynamically which input signal is being outputted.
    \nThis is for\n# 2033.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "preserveAspectRatio": "true" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 12, - "y": 0 - }, - { - "x": 100, - "y": 0 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -100, - "y": 0 - }, - { - "x": -40, - "y": 0 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -100, - "y": -80 - }, - { - "x": -40, - "y": -80 - }, - { - "x": -40, - "y": -80 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -40, - "y": 12 - }, - { - "x": -40, - "y": -12 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -100, - "y": 80 - }, - { - "x": -40, - "y": 80 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": 10, - "y": 0 - }, - { - "x": -40, - "y": 80 - }, - { - "x": null, - "y": null - }, - { - "x": 10, - "y": 0 - }, - { - "x": -40, - "y": 80 - }, - { - "x": -40, - "y": -80 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - }, - "thickness": 1 - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 2, - "y": -8 - }, - { - "x": 18, - "y": 8 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 255 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -71, - "y": 7 - }, - { - "x": -85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -90, - "y": 80 - }, - { - "x": -46, - "y": 54 - } - ], - "textString": "\"true\"", - "textColor": { - "r": 0, - "g": 0, - "b": null - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -90, - "y": -46 - }, - { - "x": -38, - "y": -76 - } - ], - "textString": "\"false\"", - "textColor": { - "r": 0, - "g": 0, - "b": null - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "u1": { - "type_specifier": "Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "Switch", - "single_component_list": { - "declaration": { - "identifier": "u1" - }, - "description": { - "description_string": "Real input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 60 - }, - { - "x": -100, - "y": 100 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": 60 - }, - { - "x": -100, - "y": 100 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Switch.mo" - }, - "u2": { - "type_specifier": "Interfaces.BooleanInput", - "type": "element", - "long_class_specifier_identifier": "Switch", - "single_component_list": { - "declaration": { - "identifier": "u2" - }, - "description": { - "description_string": "Boolean switch input signal, if true, y=u1, else y=u3", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Switch.mo" - }, - "u3": { - "type_specifier": "Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "Switch", - "single_component_list": { - "declaration": { - "identifier": "u3" - }, - "description": { - "description_string": "Real input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -100 - }, - { - "x": -100, - "y": -60 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Switch.mo" - }, - "y": { - "type_specifier": "Interfaces.RealOutput", - "type": "element", - "long_class_specifier_identifier": "Switch", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Real output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Reals", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Switch.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Types/SimpleController.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Types/SimpleController.json deleted file mode 100644 index bb55a50f..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Types/SimpleController.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "instances": {}, - "requiredReferences": {} -} \ No newline at end of file diff --git a/test/reference/objects/Buildings/Controls/OBC/CDL/Utilities/Assert.json b/test/reference/objects/Buildings/Controls/OBC/CDL/Utilities/Assert.json deleted file mode 100644 index 6855805d..00000000 --- a/test/reference/objects/Buildings/Controls/OBC/CDL/Utilities/Assert.json +++ /dev/null @@ -1,322 +0,0 @@ -{ - "instances": { - "Assert": { - "within": "Buildings.Controls.OBC.CDL.Utilities", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Utilities/Assert.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"assMes\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 80 - }, - { - "x": -80, - "y": -60 - }, - { - "x": 80, - "y": -60 - }, - { - "x": 0, - "y": 80 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -100, - "y": 160 - }, - { - "x": 100, - "y": 106 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Polygon", - "attribute": { - "points": [ - { - "x": 0, - "y": 72 - }, - { - "x": -72, - "y": -56 - }, - { - "x": 72, - "y": -56 - }, - { - "x": 0, - "y": 72 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 170 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -4, - "y": 38 - }, - { - "x": 2, - "y": -24 - } - ], - "fillColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -6, - "y": -32 - }, - { - "x": 4, - "y": -42 - } - ], - "fillColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "pattern": "LinePattern.None", - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that writes a warning if the input becomes false.\n

\n

\nTools or control systems are expected to write message together\nwith a time stamp to an output device and/or a log file.\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nNovember 6, 2017, by Michael Wetter:
    \nSimplified implementation.\n
  • \n
  • \nNovember 3, 2017, by Jianjun Hu:
    \nFirst implementation.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "message": { - "type_prefix": "parameter", - "type_specifier": "String", - "type": "element", - "long_class_specifier_identifier": "Assert", - "single_component_list": { - "declaration": { - "identifier": "message" - }, - "description": { - "description_string": "Message written when u becomes false" - } - }, - "annotation": null, - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Utilities", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Utilities/Assert.mo" - }, - "u": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", - "type": "element", - "long_class_specifier_identifier": "Assert", - "single_component_list": { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Boolean input that triggers assert when it becomes false", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ], - "semantics": {}, - "within": "Buildings.Controls.OBC.CDL.Utilities", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Utilities/Assert.mo" - } - }, - "requiredReferences": { - "connections": {} - } -} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Block1.json b/test/reference/objects/test/FromModelica/Block1.json index eb44a254..6b4edd00 100644 --- a/test/reference/objects/test/FromModelica/Block1.json +++ b/test/reference/objects/test/FromModelica/Block1.json @@ -1,10 +1 @@ -{ - "instances": { - "Block1": { - "within": "FromModelica", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Block1.mo", - "type": "long_class_specifier" - } - }, - "requiredReferences": {} -} \ No newline at end of file +{"instances":{"Block1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Block1.mo","type":"long_class_specifier"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/BlockInputOutput.json b/test/reference/objects/test/FromModelica/BlockInputOutput.json index ea68f4d2..c2b09a50 100644 --- a/test/reference/objects/test/FromModelica/BlockInputOutput.json +++ b/test/reference/objects/test/FromModelica/BlockInputOutput.json @@ -1 +1 @@ -{"instances":{"BlockInputOutput":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo","type":"long_class_specifier"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"BlockInputOutput","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"BlockInputOutput","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"BlockInputOutput":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo","type":"long_class_specifier"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"BlockInputOutput","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"BlockInputOutput","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/BlockWithBlock1.json b/test/reference/objects/test/FromModelica/BlockWithBlock1.json index 8d6e9e36..4ffb358b 100644 --- a/test/reference/objects/test/FromModelica/BlockWithBlock1.json +++ b/test/reference/objects/test/FromModelica/BlockWithBlock1.json @@ -1 +1 @@ -{"instances":{"BlockWithBlock1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo","type":"long_class_specifier"},"bloPub":{"type_specifier":"Block1","type":"element","long_class_specifier_identifier":"BlockWithBlock1","single_component_list":{"declaration":{"identifier":"bloPub"},"description":{"description_string":"A public block"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo"},"bloPro":{"type_specifier":"Block1","type":"element","long_class_specifier_identifier":"BlockWithBlock1","single_component_list":{"declaration":{"identifier":"bloPro"},"description":{"description_string":"A protected block"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"BlockWithBlock1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo","type":"long_class_specifier"},"bloPub":{"type_specifier":"Block1","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"BlockWithBlock1","single_component_list":{"declaration":{"identifier":"bloPub"},"description":{"description_string":"A public block"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo"},"bloPro":{"type_specifier":"Block1","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"BlockWithBlock1","single_component_list":{"declaration":{"identifier":"bloPro"},"description":{"description_string":"A protected block"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ConditionalBlock.json b/test/reference/objects/test/FromModelica/ConditionalBlock.json index 089dadf3..83f0d760 100644 --- a/test/reference/objects/test/FromModelica/ConditionalBlock.json +++ b/test/reference/objects/test/FromModelica/ConditionalBlock.json @@ -1 +1 @@ -{"instances":{"ConditionalBlock":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo","type":"long_class_specifier"},"enaBlo":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"enaBlo","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Flag for enabling instance"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"u"},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Abs","type":"element","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"abs"},"condition_attribute":{"expression":{"simple_expression":"not enaBlo"}},"description":{"description_string":"Instance could be conditional disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"ConditionalBlock":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo","type":"long_class_specifier"},"enaBlo":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"enaBlo","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Flag for enabling instance"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"u"},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Abs","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"abs"},"condition_attribute":{"expression":{"simple_expression":"not enaBlo"}},"description":{"description_string":"Instance could be conditional disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/CustomPWithLimiter.json b/test/reference/objects/test/FromModelica/CustomPWithLimiter.json index a5c355c5..39678d6c 100644 --- a/test/reference/objects/test/FromModelica/CustomPWithLimiter.json +++ b/test/reference/objects/test/FromModelica/CustomPWithLimiter.json @@ -1 +1 @@ -{"instances":{"CustomPWithLimiter":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nBlock that outputs y = min(yMax, k*e),\nwhere\nyMax and e are real-valued input signals and\nk is a parameter.\n

\n\""}}}}}]}}}}],"semantics":{}},"k":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}},"description":{"description_string":"Constant gain"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"yMax":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"yMax"},"description":{"description_string":"Maximum value of output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"e":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"e"},"description":{"description_string":"Control error","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Control signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"minValue":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Min","type":"element","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"minValue"},"description":{"description_string":"Outputs the minimum of its inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-10},{"x":40,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-10},{"x":40,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"}},"requiredReferences":{"connections":{"yMax":["minValue.u1"],"e":["gain.u"],"gain.y":["minValue.u2"],"minValue.y":["y"]}}} \ No newline at end of file +{"instances":{"CustomPWithLimiter":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nBlock that outputs y = min(yMax, k*e),\nwhere\nyMax and e are real-valued input signals and\nk is a parameter.\n

\n\""}}}}}]}}}}],"semantics":{}},"k":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}},"description":{"description_string":"Constant gain"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"yMax":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"yMax"},"description":{"description_string":"Maximum value of output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"e":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"e"},"description":{"description_string":"Control error","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Control signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"minValue":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Min","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"minValue"},"description":{"description_string":"Outputs the minimum of its inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-10},{"x":40,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-10},{"x":40,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"}},"requiredReferences":{"connections":{"yMax":["minValue.u1"],"e":["gain.u"],"gain.y":["minValue.u2"],"minValue.y":["y"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/DynamicTextColor.json b/test/reference/objects/test/FromModelica/DynamicTextColor.json index bff97502..29a5704d 100644 --- a/test/reference/objects/test/FromModelica/DynamicTextColor.json +++ b/test/reference/objects/test/FromModelica/DynamicTextColor.json @@ -1 +1 @@ -{"instances":{"DynamicTextColor":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"preserveAspectRatio":"true"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Text","attribute":{"extent":[{"x":-90,"y":80},{"x":-46,"y":54}],"textString":"\"true\"","lineColor":{"r":0,"g":0,"b":null}}},{"name":"Text","attribute":{"extent":[{"x":-150,"y":150},{"x":150,"y":110}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}}],"semantics":{}},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.Boolean","type":"element","long_class_specifier_identifier":"DynamicTextColor","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"DynamicTextColor":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"preserveAspectRatio":"true"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Text","attribute":{"extent":[{"x":-90,"y":80},{"x":-46,"y":54}],"textString":"\"true\"","lineColor":{"r":0,"g":0,"b":null}}},{"name":"Text","attribute":{"extent":[{"x":-150,"y":150},{"x":150,"y":110}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}}],"semantics":{}},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"DynamicTextColor","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Enable.json b/test/reference/objects/test/FromModelica/Enable.json index 1f187a5f..a81d3d0a 100644 --- a/test/reference/objects/test/FromModelica/Enable.json +++ b/test/reference/objects/test/FromModelica/Enable.json @@ -1 +1 @@ -{"instances":{"Enable":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"enaDis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-100,"y":-140},{"x":100,"y":140}]}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-140},{"x":100,"y":140}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":180},{"x":100,"y":140}],"textString":"\"%name\"","textColor":{"r":0,"g":0,"b":255}}},{"name":"Line","attribute":{"points":[{"x":0,"y":60},{"x":80,"y":60}],"color":{"r":0,"g":0,"b":127},"thickness":0.5}},{"name":"Line","attribute":{"points":[{"x":-80,"y":-60},{"x":0,"y":-60},{"x":0,"y":60}],"color":{"r":0,"g":0,"b":127},"thickness":0.5}},{"name":"Text","attribute":{"extent":[{"x":-98,"y":38},{"x":-56,"y":24}],"textString":"\"u1SupFan\"","textColor":{"r":255,"g":0,"b":255},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":18},{"x":-44,"y":4}],"textString":"\"uFreProSta\"","textColor":{"r":255,"g":127,"b":0},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":68},{"x":-56,"y":54}],"textString":"\"hOutCut\"","textColor":{"r":0,"g":0,"b":127},"visible":"use_enthalpy","pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":86},{"x":-70,"y":72}],"textString":"\"hOut\"","textColor":{"r":0,"g":0,"b":127},"visible":"use_enthalpy","pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":116},{"x":-56,"y":102}],"textString":"\"TOutCut\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":138},{"x":-72,"y":124}],"textString":"\"TOut\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-100},{"x":-32,"y":-118}],"textString":"\"uRetDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-10},{"x":-28,"y":-28}],"textString":"\"uOutDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-30},{"x":-28,"y":-48}],"textString":"\"uOutDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-80},{"x":-12,"y":-98}],"textString":"\"uRetDamPhy_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-120},{"x":-32,"y":-138}],"textString":"\"uRetDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":110},{"x":96,"y":92}],"textString":"\"yOutDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":12},{"x":96,"y":-6}],"textString":"\"yRetDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":-88},{"x":96,"y":-106}],"textString":"\"yRetDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-260,"y":-280},{"x":240,"y":280}],"preserveAspectRatio":"false","initialScale":0.05}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":-2},{"x":220,"y":-250}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":58},{"x":220,"y":6}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":118},{"x":220,"y":66}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":258},{"x":220,"y":130}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":158},{"x":204,"y":138}],"textString":"\"Outdoor air\nconditions\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":52},{"x":298,"y":18}],"textString":"\"Freeze protection -\ndisable if stage1\nand above\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":-198},{"x":288,"y":-246}],"textString":"\"Damper position\nlimit assignments\nwith delays\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":84},{"x":214,"y":74}],"textString":"\"Supply fan status\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is a multi zone VAV AHU economizer enable/disable sequence\nbased on the Section 5.16.7 of the ASHRAE Guideline 36, May 2020. Additional\nconditions included in the sequence are: freeze protection (freeze protection\nstage 0-3, see Section 5.16.12), supply fan status (on or off, see Section 5.16.5).\n

\n

\nThe economizer is disabled whenever the outdoor air conditions\nexceed the economizer high limit setpoint.\nThis sequence allows for all device types listed in\nASHRAE 90.1-2013 and Title 24-2013.\n

\n

\nIn addition, the economizer gets disabled without a delay whenever any of the\nfollowing is true:\n

\n\n

\nThe following state machine chart illustrates the transitions between enabling and disabling:\n

\n

\n\\\"Image\n

\n

\nAfter the disable signal is activated, the following procedure is applied, in order to\nprevent pressure fluctuations in the HVAC system:\n

\n
    \n
  • \nThe return damper gets fully opened (yRetDam_max = uRetDamPhy_max and\nyRetDam_min = uRetDamPhy_max) for retDamFulOpeTim\ntime period, after which the return damper gets released to its minimum outdoor airflow control position\n(yRetDam_max = uRetDam_max and yRetDam_min = uRetDam_max).\n
  • \n
  • \nThe outdoor air damper is closed to its minimum outoor airflow control limit (yOutDam_max = uOutDam_min)\nafter a disDel time delay.\n
  • \n
\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\n
    \n
  • \nOctober 13, 2017, by Michael Wetter:
    \nAdded freeze protection that tracks mixed air temperature.\n
  • \n
  • \nAugust 3, 2017, by Michael Wetter:
    \nRemoved unrequired input into block and2 as this input\nwas always true if and2.u2 = true.\n
  • \n
  • \nJune 27, 2017, by Milica Grahovac:
    \nFirst implementation.\n
  • \n
\n\""}}}}}]}}}}],"semantics":{}},"use_enthalpy":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"use_enthalpy","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Set to true to evaluate outdoor air (OA) enthalpy in addition to temperature","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Conditional\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Conditional\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delTOutHis":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delTOutHis","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"TemperatureDifference\""}}}}}],"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Delta between the temperature hysteresis high and low limit","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delEntHis":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delEntHis","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}],"equal":true,"expression":{"simple_expression":"1000"}}},"description":{"description_string":"Delta between the enthalpy hysteresis high and low limits","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"use_enthalpy"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"use_enthalpy"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"retDamFulOpeTim":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"retDamFulOpeTim","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"s\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"Time\""}}}}}],"equal":true,"expression":{"simple_expression":"180"}}},"description":{"description_string":"Time period to keep RA damper fully open before releasing it for minimum outdoor airflow control\n at disable to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"disDel":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"disDel","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"s\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"Time\""}}}}}],"equal":true,"expression":{"simple_expression":"15"}}},"description":{"description_string":"Short time delay before closing the OA damper at disable to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"Outdoor air temperature","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":232},{"x":-260,"y":272}]},"iconTransformation":{"extent":[{"x":-140,"y":110},{"x":-100,"y":150}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":232},{"x":-260,"y":272}]},"iconTransformation":{"extent":[{"x":-140,"y":110},{"x":-100,"y":150}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Outdoor air enthalpy","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":152},{"x":-260,"y":192}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":152},{"x":-260,"y":192}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutCut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutCut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"OA temperature high limit cutoff. For differential dry bulb temperature condition use return air temperature measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":192},{"x":-260,"y":232}]},"iconTransformation":{"extent":[{"x":-140,"y":90},{"x":-100,"y":130}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":192},{"x":-260,"y":232}]},"iconTransformation":{"extent":[{"x":-140,"y":90},{"x":-100,"y":130}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutCut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutCut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"OA enthalpy high limit cutoff. For differential enthalpy use return air enthalpy measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":112},{"x":-260,"y":152}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":112},{"x":-260,"y":152}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uOutDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uOutDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum outdoor air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-98},{"x":-260,"y":-58}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-98},{"x":-260,"y":-58}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uOutDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uOutDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum outdoor air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-58},{"x":-260,"y":-18}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-58},{"x":-260,"y":-18}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-178},{"x":-260,"y":-138}]},"iconTransformation":{"extent":[{"x":-140,"y":-130},{"x":-100,"y":-90}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-178},{"x":-260,"y":-138}]},"iconTransformation":{"extent":[{"x":-140,"y":-130},{"x":-100,"y":-90}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-218},{"x":-260,"y":-178}]},"iconTransformation":{"extent":[{"x":-140,"y":-150},{"x":-100,"y":-110}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-218},{"x":-260,"y":-178}]},"iconTransformation":{"extent":[{"x":-140,"y":-150},{"x":-100,"y":-110}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDamPhy_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDamPhy_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Physical maximum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-138},{"x":-260,"y":-98}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-138},{"x":-260,"y":-98}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"u1SupFan":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"u1SupFan"},"description":{"description_string":"Supply fan proven on","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":62},{"x":-260,"y":102}]},"iconTransformation":{"extent":[{"x":-140,"y":10},{"x":-100,"y":50}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":62},{"x":-260,"y":102}]},"iconTransformation":{"extent":[{"x":-140,"y":10},{"x":-100,"y":50}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uFreProSta":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uFreProSta"},"description":{"description_string":"Freeze protection stage status signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":22},{"x":-260,"y":62}]},"iconTransformation":{"extent":[{"x":-140,"y":-10},{"x":-100,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":22},{"x":-260,"y":62}]},"iconTransformation":{"extent":[{"x":-140,"y":-10},{"x":-100,"y":30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yOutDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yOutDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum outdoor air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":22},{"x":280,"y":62}]},"iconTransformation":{"extent":[{"x":100,"y":80},{"x":140,"y":120}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":22},{"x":280,"y":62}]},"iconTransformation":{"extent":[{"x":100,"y":80},{"x":140,"y":120}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yRetDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yRetDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum return air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-98},{"x":280,"y":-58}]},"iconTransformation":{"extent":[{"x":100,"y":-120},{"x":140,"y":-80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-98},{"x":280,"y":-58}]},"iconTransformation":{"extent":[{"x":100,"y":-120},{"x":140,"y":-80}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yRetDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yRetDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum return air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-38},{"x":280,"y":2}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-38},{"x":280,"y":2}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"truFalHol":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueFalseHold","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"truFalHol","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"trueHoldDuration","modification":{"equal":true,"expression":{"simple_expression":"600"}}}}}]}},"description":{"description_string":"Economizer should not be enabled or disabled within 10 minutes of change","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":182},{"x":40,"y":202}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":182},{"x":40,"y":202}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"andEnaDis":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"andEnaDis"},"description":{"description_string":"Check freeze protection stage and zone state","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":12},{"x":80,"y":32}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":12},{"x":80,"y":32}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutHigLimCutHig":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutHigLimCutHig","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"TemperatureDifference\""}}}}}],"equal":true,"expression":{"simple_expression":"0"}}},"description":{"description_string":"Hysteresis high limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutHigLimCutLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutHigLimCutLow","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutHig -delTOutHis"}}},"description":{"description_string":"Hysteresis low limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutHigLimCutHig":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutHigLimCutHig","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}],"equal":true,"expression":{"simple_expression":"0"}}},"description":{"description_string":"Hysteresis block high limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutHigLimCutLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutHigLimCutLow","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutHig -delEntHis"}}},"description":{"description_string":"Hysteresis block low limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"sub2":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Subtract","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"sub2"},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Add block determines difference between hOut and hOutCut","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":140},{"x":-180,"y":160}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":140},{"x":-180,"y":160}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"sub1":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Subtract","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"sub1"},"description":{"description_string":"Add block determines difference between TOut and TOutCut","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":220},{"x":-180,"y":240}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":220},{"x":-180,"y":240}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hysOutTem":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Hysteresis","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hysOutTem","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutLow"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutHig"}}}}}]}},"description":{"description_string":"Outdoor air temperature hysteresis for both fixed and differential dry bulb temperature cutoff conditions","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":220},{"x":-140,"y":240}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":220},{"x":-140,"y":240}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hysOutEnt":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Hysteresis","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hysOutEnt","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutLow"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutHig"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Outdoor air enthalpy hysteresis for both fixed and differential enthalpy cutoff conditions","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":140},{"x":-140,"y":160}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":140},{"x":-140,"y":160}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"outDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"outDamSwitch"},"description":{"description_string":"Set maximum OA damper position to minimum at disable (after a given time delay)","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":82,"y":-78},{"x":102,"y":-58}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":82,"y":-78},{"x":102,"y":-58}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"retDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"retDamSwitch"},"description":{"description_string":"Set minimum RA damper position to maximum at disable","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-176},{"x":0,"y":-156}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-176},{"x":0,"y":-156}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"maxRetDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"maxRetDamSwitch"},"description":{"description_string":"Keep maximum RA damper position at physical maximum for a short time period after disable signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-136},{"x":80,"y":-116}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-136},{"x":80,"y":-116}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"minRetDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"minRetDamSwitch"},"description":{"description_string":"Keep minimum RA damper position at physical maximum for a short time period after disable","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-178},{"x":80,"y":-158}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-178},{"x":80,"y":-158}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"not2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Not","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"not2"},"description":{"description_string":"Logical not that starts the timer at disable signal ","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-58},{"x":-40,"y":-38}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-58},{"x":-40,"y":-38}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and2"},"description":{"description_string":"Logical and","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":160,"y":-100},{"x":180,"y":-80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":160,"y":-100},{"x":180,"y":-80}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and1"},"description":{"description_string":"Check supply fan status","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":80},{"x":40,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":80},{"x":40,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and3":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and3"},"description":{"description_string":"Check if delay time has been passed after economizer being disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":40,"y":-54},{"x":60,"y":-34}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":40,"y":-54},{"x":60,"y":-34}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"intEqu":{"type_specifier":"Buildings.Controls.OBC.CDL.Integers.Equal","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"intEqu"},"description":{"description_string":"Logical block to check if the freeze protection is deactivated","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-78,"y":32},{"x":-58,"y":52}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-78,"y":32},{"x":-58,"y":52}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delOutDamOsc":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delOutDamOsc","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"disDel"}}}}}]}},"description":{"description_string":"Small delay before closing the outdoor air damper to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-58},{"x":0,"y":-38}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-58},{"x":0,"y":-38}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delRetDam":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delRetDam","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"retDamFulOpeTim"}}}}}]}},"description":{"description_string":"Keep return damper open to its physical maximum for a short period of time before closing the outdoor air damper and resuming the maximum return air damper position, per G36 Part N7","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-108},{"x":0,"y":-88}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-108},{"x":0,"y":-88}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"not1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Not","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"not1"},"description":{"description_string":"Logical not","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-108},{"x":40,"y":-88}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-108},{"x":40,"y":-88}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"conInt":{"type_specifier":"Buildings.Controls.OBC.CDL.Integers.Sources.Constant","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"conInt","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeProtectionStages.stage0"}}}}}]}},"description":{"description_string":"Integer constant, stage 0","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-118,"y":12},{"x":-98,"y":32}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-118,"y":12},{"x":-98,"y":32}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"entSubst1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"entSubst1","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"not use_enthalpy"}},"description":{"description_string":"Deactivates outdoor air enthalpy condition if there is no enthalpy sensor","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":180},{"x":-140,"y":200}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":180},{"x":-140,"y":200}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"or2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Or","type":"element","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"or2"},"description":{"description_string":"Check if either the temperature or the enthalpy condition is satisfied","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":182},{"x":-40,"y":202}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":182},{"x":-40,"y":202}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"}},"requiredReferences":{"connections":{"TOut":["sub1.u1"],"TOutCut":["sub1.u2"],"sub1.y":["hysOutTem.u"],"hOut":["sub2.u1"],"hOutCut":["sub2.u2"],"sub2.y":["hysOutEnt.u"],"uOutDam_min":["outDamSwitch.u1"],"uOutDam_max":["outDamSwitch.u3"],"uRetDamPhy_max":["maxRetDamSwitch.u1","minRetDamSwitch.u1"],"uRetDam_max":["maxRetDamSwitch.u3","retDamSwitch.u1"],"andEnaDis.y":["not2.u"],"maxRetDamSwitch.y":["yRetDam_max"],"and2.y":["maxRetDamSwitch.u2","minRetDamSwitch.u2"],"not2.y":["retDamSwitch.u2","and3.u1","delRetDam.u"],"uRetDam_min":["retDamSwitch.u3"],"retDamSwitch.y":["minRetDamSwitch.u3"],"truFalHol.y":["and1.u1"],"and1.y":["andEnaDis.u1"],"u1SupFan":["and1.u2"],"outDamSwitch.u2":["and3.y"],"and2.u1":["not2.y"],"and3.u2":["delOutDamOsc.y"],"delOutDamOsc.u":["not2.y"],"delRetDam.y":["not1.u"],"not1.y":["and2.u2"],"uFreProSta":["intEqu.u1"],"conInt.y":["intEqu.u2"],"intEqu.y":["andEnaDis.u2"],"outDamSwitch.y":["yOutDam_max"],"minRetDamSwitch.y":["yRetDam_min"],"or2.y":["truFalHol.u"],"hysOutTem.y":["or2.u1"],"hysOutEnt.y":["or2.u2"],"entSubst1.y":["or2.u2"]}}} \ No newline at end of file +{"instances":{"Enable":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"enaDis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-100,"y":-140},{"x":100,"y":140}]}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-140},{"x":100,"y":140}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":180},{"x":100,"y":140}],"textString":"\"%name\"","textColor":{"r":0,"g":0,"b":255}}},{"name":"Line","attribute":{"points":[{"x":0,"y":60},{"x":80,"y":60}],"color":{"r":0,"g":0,"b":127},"thickness":0.5}},{"name":"Line","attribute":{"points":[{"x":-80,"y":-60},{"x":0,"y":-60},{"x":0,"y":60}],"color":{"r":0,"g":0,"b":127},"thickness":0.5}},{"name":"Text","attribute":{"extent":[{"x":-98,"y":38},{"x":-56,"y":24}],"textString":"\"u1SupFan\"","textColor":{"r":255,"g":0,"b":255},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":18},{"x":-44,"y":4}],"textString":"\"uFreProSta\"","textColor":{"r":255,"g":127,"b":0},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":68},{"x":-56,"y":54}],"textString":"\"hOutCut\"","textColor":{"r":0,"g":0,"b":127},"visible":"use_enthalpy","pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":86},{"x":-70,"y":72}],"textString":"\"hOut\"","textColor":{"r":0,"g":0,"b":127},"visible":"use_enthalpy","pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":116},{"x":-56,"y":102}],"textString":"\"TOutCut\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":138},{"x":-72,"y":124}],"textString":"\"TOut\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-100},{"x":-32,"y":-118}],"textString":"\"uRetDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-10},{"x":-28,"y":-28}],"textString":"\"uOutDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-30},{"x":-28,"y":-48}],"textString":"\"uOutDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-80},{"x":-12,"y":-98}],"textString":"\"uRetDamPhy_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-120},{"x":-32,"y":-138}],"textString":"\"uRetDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":110},{"x":96,"y":92}],"textString":"\"yOutDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":12},{"x":96,"y":-6}],"textString":"\"yRetDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":-88},{"x":96,"y":-106}],"textString":"\"yRetDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-260,"y":-280},{"x":240,"y":280}],"preserveAspectRatio":"false","initialScale":0.05}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":-2},{"x":220,"y":-250}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":58},{"x":220,"y":6}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":118},{"x":220,"y":66}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":258},{"x":220,"y":130}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":158},{"x":204,"y":138}],"textString":"\"Outdoor air\nconditions\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":52},{"x":298,"y":18}],"textString":"\"Freeze protection -\ndisable if stage1\nand above\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":-198},{"x":288,"y":-246}],"textString":"\"Damper position\nlimit assignments\nwith delays\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":84},{"x":214,"y":74}],"textString":"\"Supply fan status\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is a multi zone VAV AHU economizer enable/disable sequence\nbased on the Section 5.16.7 of the ASHRAE Guideline 36, May 2020. Additional\nconditions included in the sequence are: freeze protection (freeze protection\nstage 0-3, see Section 5.16.12), supply fan status (on or off, see Section 5.16.5).\n

\n

\nThe economizer is disabled whenever the outdoor air conditions\nexceed the economizer high limit setpoint.\nThis sequence allows for all device types listed in\nASHRAE 90.1-2013 and Title 24-2013.\n

\n

\nIn addition, the economizer gets disabled without a delay whenever any of the\nfollowing is true:\n

\n\n

\nThe following state machine chart illustrates the transitions between enabling and disabling:\n

\n

\n\\\"Image\n

\n

\nAfter the disable signal is activated, the following procedure is applied, in order to\nprevent pressure fluctuations in the HVAC system:\n

\n
    \n
  • \nThe return damper gets fully opened (yRetDam_max = uRetDamPhy_max and\nyRetDam_min = uRetDamPhy_max) for retDamFulOpeTim\ntime period, after which the return damper gets released to its minimum outdoor airflow control position\n(yRetDam_max = uRetDam_max and yRetDam_min = uRetDam_max).\n
  • \n
  • \nThe outdoor air damper is closed to its minimum outoor airflow control limit (yOutDam_max = uOutDam_min)\nafter a disDel time delay.\n
  • \n
\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\n
    \n
  • \nOctober 13, 2017, by Michael Wetter:
    \nAdded freeze protection that tracks mixed air temperature.\n
  • \n
  • \nAugust 3, 2017, by Michael Wetter:
    \nRemoved unrequired input into block and2 as this input\nwas always true if and2.u2 = true.\n
  • \n
  • \nJune 27, 2017, by Milica Grahovac:
    \nFirst implementation.\n
  • \n
\n\""}}}}}]}}}}],"semantics":{}},"use_enthalpy":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"use_enthalpy","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Set to true to evaluate outdoor air (OA) enthalpy in addition to temperature","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Conditional\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Conditional\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delTOutHis":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delTOutHis","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"TemperatureDifference\""}}}}}],"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Delta between the temperature hysteresis high and low limit","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delEntHis":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delEntHis","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}],"equal":true,"expression":{"simple_expression":"1000"}}},"description":{"description_string":"Delta between the enthalpy hysteresis high and low limits","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"use_enthalpy"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"use_enthalpy"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"retDamFulOpeTim":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"retDamFulOpeTim","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"s\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"Time\""}}}}}],"equal":true,"expression":{"simple_expression":"180"}}},"description":{"description_string":"Time period to keep RA damper fully open before releasing it for minimum outdoor airflow control\n at disable to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"disDel":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"disDel","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"s\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"Time\""}}}}}],"equal":true,"expression":{"simple_expression":"15"}}},"description":{"description_string":"Short time delay before closing the OA damper at disable to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"Outdoor air temperature","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":232},{"x":-260,"y":272}]},"iconTransformation":{"extent":[{"x":-140,"y":110},{"x":-100,"y":150}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":232},{"x":-260,"y":272}]},"iconTransformation":{"extent":[{"x":-140,"y":110},{"x":-100,"y":150}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Outdoor air enthalpy","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":152},{"x":-260,"y":192}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":152},{"x":-260,"y":192}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutCut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutCut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"OA temperature high limit cutoff. For differential dry bulb temperature condition use return air temperature measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":192},{"x":-260,"y":232}]},"iconTransformation":{"extent":[{"x":-140,"y":90},{"x":-100,"y":130}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":192},{"x":-260,"y":232}]},"iconTransformation":{"extent":[{"x":-140,"y":90},{"x":-100,"y":130}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutCut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutCut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"OA enthalpy high limit cutoff. For differential enthalpy use return air enthalpy measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":112},{"x":-260,"y":152}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":112},{"x":-260,"y":152}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uOutDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uOutDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum outdoor air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-98},{"x":-260,"y":-58}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-98},{"x":-260,"y":-58}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uOutDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uOutDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum outdoor air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-58},{"x":-260,"y":-18}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-58},{"x":-260,"y":-18}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-178},{"x":-260,"y":-138}]},"iconTransformation":{"extent":[{"x":-140,"y":-130},{"x":-100,"y":-90}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-178},{"x":-260,"y":-138}]},"iconTransformation":{"extent":[{"x":-140,"y":-130},{"x":-100,"y":-90}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-218},{"x":-260,"y":-178}]},"iconTransformation":{"extent":[{"x":-140,"y":-150},{"x":-100,"y":-110}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-218},{"x":-260,"y":-178}]},"iconTransformation":{"extent":[{"x":-140,"y":-150},{"x":-100,"y":-110}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDamPhy_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDamPhy_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Physical maximum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-138},{"x":-260,"y":-98}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-138},{"x":-260,"y":-98}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"u1SupFan":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"u1SupFan"},"description":{"description_string":"Supply fan proven on","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":62},{"x":-260,"y":102}]},"iconTransformation":{"extent":[{"x":-140,"y":10},{"x":-100,"y":50}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":62},{"x":-260,"y":102}]},"iconTransformation":{"extent":[{"x":-140,"y":10},{"x":-100,"y":50}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uFreProSta":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uFreProSta"},"description":{"description_string":"Freeze protection stage status signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":22},{"x":-260,"y":62}]},"iconTransformation":{"extent":[{"x":-140,"y":-10},{"x":-100,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":22},{"x":-260,"y":62}]},"iconTransformation":{"extent":[{"x":-140,"y":-10},{"x":-100,"y":30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yOutDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yOutDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum outdoor air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":22},{"x":280,"y":62}]},"iconTransformation":{"extent":[{"x":100,"y":80},{"x":140,"y":120}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":22},{"x":280,"y":62}]},"iconTransformation":{"extent":[{"x":100,"y":80},{"x":140,"y":120}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yRetDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yRetDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum return air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-98},{"x":280,"y":-58}]},"iconTransformation":{"extent":[{"x":100,"y":-120},{"x":140,"y":-80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-98},{"x":280,"y":-58}]},"iconTransformation":{"extent":[{"x":100,"y":-120},{"x":140,"y":-80}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yRetDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yRetDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum return air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-38},{"x":280,"y":2}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-38},{"x":280,"y":2}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"truFalHol":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueFalseHold","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"truFalHol","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"trueHoldDuration","modification":{"equal":true,"expression":{"simple_expression":"600"}}}}}]}},"description":{"description_string":"Economizer should not be enabled or disabled within 10 minutes of change","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":182},{"x":40,"y":202}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":182},{"x":40,"y":202}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"andEnaDis":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"andEnaDis"},"description":{"description_string":"Check freeze protection stage and zone state","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":12},{"x":80,"y":32}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":12},{"x":80,"y":32}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutHigLimCutHig":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutHigLimCutHig","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"TemperatureDifference\""}}}}}],"equal":true,"expression":{"simple_expression":"0"}}},"description":{"description_string":"Hysteresis high limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutHigLimCutLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutHigLimCutLow","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutHig -delTOutHis"}}},"description":{"description_string":"Hysteresis low limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutHigLimCutHig":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutHigLimCutHig","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}],"equal":true,"expression":{"simple_expression":"0"}}},"description":{"description_string":"Hysteresis block high limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutHigLimCutLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutHigLimCutLow","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutHig -delEntHis"}}},"description":{"description_string":"Hysteresis block low limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"sub2":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Subtract","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"sub2"},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Add block determines difference between hOut and hOutCut","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":140},{"x":-180,"y":160}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":140},{"x":-180,"y":160}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"sub1":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Subtract","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"sub1"},"description":{"description_string":"Add block determines difference between TOut and TOutCut","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":220},{"x":-180,"y":240}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":220},{"x":-180,"y":240}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hysOutTem":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Hysteresis","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hysOutTem","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutLow"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutHig"}}}}}]}},"description":{"description_string":"Outdoor air temperature hysteresis for both fixed and differential dry bulb temperature cutoff conditions","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":220},{"x":-140,"y":240}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":220},{"x":-140,"y":240}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hysOutEnt":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Hysteresis","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hysOutEnt","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutLow"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutHig"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Outdoor air enthalpy hysteresis for both fixed and differential enthalpy cutoff conditions","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":140},{"x":-140,"y":160}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":140},{"x":-140,"y":160}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"outDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"outDamSwitch"},"description":{"description_string":"Set maximum OA damper position to minimum at disable (after a given time delay)","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":82,"y":-78},{"x":102,"y":-58}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":82,"y":-78},{"x":102,"y":-58}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"retDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"retDamSwitch"},"description":{"description_string":"Set minimum RA damper position to maximum at disable","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-176},{"x":0,"y":-156}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-176},{"x":0,"y":-156}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"maxRetDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"maxRetDamSwitch"},"description":{"description_string":"Keep maximum RA damper position at physical maximum for a short time period after disable signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-136},{"x":80,"y":-116}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-136},{"x":80,"y":-116}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"minRetDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"minRetDamSwitch"},"description":{"description_string":"Keep minimum RA damper position at physical maximum for a short time period after disable","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-178},{"x":80,"y":-158}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-178},{"x":80,"y":-158}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"not2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Not","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"not2"},"description":{"description_string":"Logical not that starts the timer at disable signal ","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-58},{"x":-40,"y":-38}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-58},{"x":-40,"y":-38}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and2"},"description":{"description_string":"Logical and","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":160,"y":-100},{"x":180,"y":-80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":160,"y":-100},{"x":180,"y":-80}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and1"},"description":{"description_string":"Check supply fan status","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":80},{"x":40,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":80},{"x":40,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and3":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and3"},"description":{"description_string":"Check if delay time has been passed after economizer being disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":40,"y":-54},{"x":60,"y":-34}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":40,"y":-54},{"x":60,"y":-34}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"intEqu":{"type_specifier":"Buildings.Controls.OBC.CDL.Integers.Equal","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"intEqu"},"description":{"description_string":"Logical block to check if the freeze protection is deactivated","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-78,"y":32},{"x":-58,"y":52}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-78,"y":32},{"x":-58,"y":52}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delOutDamOsc":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delOutDamOsc","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"disDel"}}}}}]}},"description":{"description_string":"Small delay before closing the outdoor air damper to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-58},{"x":0,"y":-38}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-58},{"x":0,"y":-38}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delRetDam":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delRetDam","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"retDamFulOpeTim"}}}}}]}},"description":{"description_string":"Keep return damper open to its physical maximum for a short period of time before closing the outdoor air damper and resuming the maximum return air damper position, per G36 Part N7","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-108},{"x":0,"y":-88}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-108},{"x":0,"y":-88}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"not1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Not","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"not1"},"description":{"description_string":"Logical not","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-108},{"x":40,"y":-88}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-108},{"x":40,"y":-88}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"conInt":{"type_specifier":"Buildings.Controls.OBC.CDL.Integers.Sources.Constant","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"conInt","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeProtectionStages.stage0"}}}}}]}},"description":{"description_string":"Integer constant, stage 0","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-118,"y":12},{"x":-98,"y":32}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-118,"y":12},{"x":-98,"y":32}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"entSubst1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"entSubst1","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"not use_enthalpy"}},"description":{"description_string":"Deactivates outdoor air enthalpy condition if there is no enthalpy sensor","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":180},{"x":-140,"y":200}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":180},{"x":-140,"y":200}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"or2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Or","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"or2"},"description":{"description_string":"Check if either the temperature or the enthalpy condition is satisfied","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":182},{"x":-40,"y":202}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":182},{"x":-40,"y":202}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"}},"requiredReferences":{"connections":{"TOut":["sub1.u1"],"TOutCut":["sub1.u2"],"sub1.y":["hysOutTem.u"],"hOut":["sub2.u1"],"hOutCut":["sub2.u2"],"sub2.y":["hysOutEnt.u"],"uOutDam_min":["outDamSwitch.u1"],"uOutDam_max":["outDamSwitch.u3"],"uRetDamPhy_max":["maxRetDamSwitch.u1","minRetDamSwitch.u1"],"uRetDam_max":["maxRetDamSwitch.u3","retDamSwitch.u1"],"andEnaDis.y":["not2.u"],"maxRetDamSwitch.y":["yRetDam_max"],"and2.y":["maxRetDamSwitch.u2","minRetDamSwitch.u2"],"not2.y":["retDamSwitch.u2","and3.u1","delRetDam.u"],"uRetDam_min":["retDamSwitch.u3"],"retDamSwitch.y":["minRetDamSwitch.u3"],"truFalHol.y":["and1.u1"],"and1.y":["andEnaDis.u1"],"u1SupFan":["and1.u2"],"outDamSwitch.u2":["and3.y"],"and2.u1":["not2.y"],"and3.u2":["delOutDamOsc.y"],"delOutDamOsc.u":["not2.y"],"delRetDam.y":["not1.u"],"not1.y":["and2.u2"],"uFreProSta":["intEqu.u1"],"conInt.y":["intEqu.u2"],"intEqu.y":["andEnaDis.u2"],"outDamSwitch.y":["yOutDam_max"],"minRetDamSwitch.y":["yRetDam_min"],"or2.y":["truFalHol.u"],"hysOutTem.y":["or2.u1"],"hysOutEnt.y":["or2.u2"],"entSubst1.y":["or2.u2"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ExtendsClause_1.json b/test/reference/objects/test/FromModelica/ExtendsClause_1.json index 1406e8c0..accd349f 100644 --- a/test/reference/objects/test/FromModelica/ExtendsClause_1.json +++ b/test/reference/objects/test/FromModelica/ExtendsClause_1.json @@ -1 +1 @@ -{"instances":{"ExtendsClause_1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Reals.PID","class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Ti","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}}],"long_class_specifier_identifier":"ExtendsClause_1","within":"FromModelica"}]}} \ No newline at end of file +{"instances":{"ExtendsClause_1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Reals.PID","class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Ti","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}}],"long_class_specifier_identifier":"ExtendsClause_1","within":"FromModelica","compositionSpecifier":"public"}]}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ExtendsClause_2.json b/test/reference/objects/test/FromModelica/ExtendsClause_2.json index cf0040db..160a8e40 100644 --- a/test/reference/objects/test/FromModelica/ExtendsClause_2.json +++ b/test/reference/objects/test/FromModelica/ExtendsClause_2.json @@ -1 +1 @@ -{"instances":{"ExtendsClause_2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Reals.PID","class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Ti","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}}],"long_class_specifier_identifier":"ExtendsClause_2","within":"FromModelica"},{"name":"Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset","class_modification":[{"element_redeclaration":{"component_clause1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","component_declaration1":{"declaration":{"identifier":"onDelay","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"duration"}}}}}]}}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"duration","modification":{"equal":true,"expression":{"simple_expression":"300"}}}}}],"long_class_specifier_identifier":"ExtendsClause_2","within":"FromModelica"}]}} \ No newline at end of file +{"instances":{"ExtendsClause_2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Reals.PID","class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Ti","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}}],"long_class_specifier_identifier":"ExtendsClause_2","within":"FromModelica","compositionSpecifier":"public"},{"name":"Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset","class_modification":[{"element_redeclaration":{"component_clause1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","component_declaration1":{"declaration":{"identifier":"onDelay","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"duration"}}}}}]}}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"duration","modification":{"equal":true,"expression":{"simple_expression":"300"}}}}}],"long_class_specifier_identifier":"ExtendsClause_2","within":"FromModelica","compositionSpecifier":"public"}]}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ExtendsClause_3.json b/test/reference/objects/test/FromModelica/ExtendsClause_3.json index 90a27de0..3f1f089d 100644 --- a/test/reference/objects/test/FromModelica/ExtendsClause_3.json +++ b/test/reference/objects/test/FromModelica/ExtendsClause_3.json @@ -1 +1 @@ -{"instances":{"ExtendsClause_3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Constants","long_class_specifier_identifier":"ExtendsClause_3","within":"FromModelica"},{"name":"Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset","class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"duration","modification":{"equal":true,"expression":{"simple_expression":"300"}}}}}],"long_class_specifier_identifier":"ExtendsClause_3","within":"FromModelica"}]}} \ No newline at end of file +{"instances":{"ExtendsClause_3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Constants","long_class_specifier_identifier":"ExtendsClause_3","within":"FromModelica","compositionSpecifier":"public"},{"name":"Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset","class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"duration","modification":{"equal":true,"expression":{"simple_expression":"300"}}}}}],"long_class_specifier_identifier":"ExtendsClause_3","within":"FromModelica","compositionSpecifier":"public"}]}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json b/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json index 4a53a56b..facfac9f 100644 --- a/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json +++ b/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json @@ -1 +1 @@ -{"instances":{"MisplacedInfoWithComponent":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo","type":"long_class_specifier"},"bloPub":{"type_specifier":"Block1","type":"element","long_class_specifier_identifier":"MisplacedInfoWithComponent","single_component_list":{"declaration":{"identifier":"bloPub"},"description":{"description_string":"A public block","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"MisplacedInfoWithComponent":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo","type":"long_class_specifier"},"bloPub":{"type_specifier":"Block1","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithComponent","single_component_list":{"declaration":{"identifier":"bloPub"},"description":{"description_string":"A public block","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json b/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json index 53d1407e..08cb4549 100644 --- a/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json +++ b/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json @@ -1 +1 @@ -{"instances":{"MisplacedInfoWithEquation":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo","type":"long_class_specifier"},"k":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}},"description":{"description_string":"Constant gain"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"y1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"y1"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"y2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"y2"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":0,"y":-10},{"x":20,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":0,"y":-10},{"x":20,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"}},"requiredReferences":{"connections":{"u":["gain.u"],"gain.y":["y"]}}} \ No newline at end of file +{"instances":{"MisplacedInfoWithEquation":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo","type":"long_class_specifier"},"k":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}},"description":{"description_string":"Constant gain"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"y1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"y1"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"y2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"y2"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":0,"y":-10},{"x":20,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":0,"y":-10},{"x":20,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"}},"requiredReferences":{"connections":{"u":["gain.u"],"gain.y":["y1"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json b/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json index 80493592..d769305b 100644 --- a/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json +++ b/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json @@ -1 +1 @@ -{"instances":{"MisplacedInfoWithParameter":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"MisplacedInfoWithParameter","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"MisplacedInfoWithParameter":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithParameter","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MyController.json b/test/reference/objects/test/FromModelica/MyController.json index 20190194..7cfa0055 100644 --- a/test/reference/objects/test/FromModelica/MyController.json +++ b/test/reference/objects/test/FromModelica/MyController.json @@ -1 +1 @@ -{"instances":{"MyController":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"add2":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","type":"element","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"subCon1":{"type_specifier":"SubController","type":"element","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"subCon1"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"subCon2":{"type_specifier":"SubController","type":"element","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"}},"requiredReferences":{"connections":{"u1":["add2.u1"],"u2":["add2.u2","subCon1.u","subCon2.u"],"add2.y":["y"]}}} \ No newline at end of file +{"instances":{"MyController":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"add2":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"subCon1":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"subCon1"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"subCon2":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"}},"requiredReferences":{"connections":{"u1":["add2.u1"],"u2":["add2.u2","subCon1.u","subCon2.u"],"add2.y":["y"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json b/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json index dddfb546..21887db4 100644 --- a/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json +++ b/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json @@ -1 +1 @@ -{"instances":{"MyControllerWithSemantics":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . "}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"@prefix Brick: .\n @prefix bldg: . \n"}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Temperature_Sensor ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Temperature_Sensor ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"bldg: a Brick:Temperature_Sensor .\n","en":" is a temperature sensor input\n"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}],"semantics":{"en":" is a temperature sensor input\n"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"add2":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","type":"element","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"heaCoi":{"type_specifier":"SubController","type":"element","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"heaCoi"},"description":{"description_string":"Heating Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Heating_Coil ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a heating coil."}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Heating_Coil ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a heating coil."}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"bldg: a Brick:Heating_Coil .\n","en":" is a heating coil.\n"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"subCon2":{"type_specifier":"SubControllerWithSemantics","type":"element","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Cooling Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"}},"requiredReferences":{"connections":{"u1":["add2.u1"],"u2":["add2.u2","subCon1.u","subCon2.u"],"add2.y":["y"]}}} \ No newline at end of file +{"instances":{"MyControllerWithSemantics":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . "}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"@prefix Brick: .\n @prefix bldg: . \n"}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Temperature_Sensor ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Temperature_Sensor ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"bldg: a Brick:Temperature_Sensor .\n","en":" is a temperature sensor input\n"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}],"semantics":{"en":" is a temperature sensor input\n"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"add2":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"heaCoi":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"heaCoi"},"description":{"description_string":"Heating Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Heating_Coil ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a heating coil."}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Heating_Coil ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a heating coil."}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"bldg: a Brick:Heating_Coil .\n","en":" is a heating coil.\n"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"subCon2":{"type_specifier":"SubControllerWithSemantics","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Cooling Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"}},"requiredReferences":{"connections":{"u1":["add2.u1"],"u2":["add2.u2","heaCoi.u","subCon2.u"],"add2.y":["y"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/NoClassComment.json b/test/reference/objects/test/FromModelica/NoClassComment.json index 9a5b086a..ffbc9a79 100644 --- a/test/reference/objects/test/FromModelica/NoClassComment.json +++ b/test/reference/objects/test/FromModelica/NoClassComment.json @@ -1 +1 @@ -{"instances":{"NoClassComment":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"NoClassComment","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"NoClassComment":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"NoClassComment","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/NoWithin.json b/test/reference/objects/test/FromModelica/NoWithin.json index 31cc98d0..6aaa2c90 100644 --- a/test/reference/objects/test/FromModelica/NoWithin.json +++ b/test/reference/objects/test/FromModelica/NoWithin.json @@ -1 +1 @@ -{"instances":{"FromModelica":{"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo","type":"long_class_specifier"},"one":{"type_prefix":"constant","type_specifier":"Integer","type":"element","long_class_specifier_identifier":"FromModelica","single_component_list":{"declaration":{"identifier":"one","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"An integer constant with value 1"}},"annotation":null,"semantics":{},"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"FromModelica":{"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo","type":"long_class_specifier"},"one":{"type_prefix":"constant","type_specifier":"Integer","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"FromModelica","single_component_list":{"declaration":{"identifier":"one","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"An integer constant with value 1"}},"annotation":null,"semantics":{},"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Parameter1.json b/test/reference/objects/test/FromModelica/Parameter1.json index aba3b7e9..b3877a4f 100644 --- a/test/reference/objects/test/FromModelica/Parameter1.json +++ b/test/reference/objects/test/FromModelica/Parameter1.json @@ -1 +1 @@ -{"instances":{"Parameter1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter1","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"Parameter1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter1","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json b/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json index aea78cd9..3f8a1f5d 100644 --- a/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json +++ b/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json @@ -1 +1 @@ -{"instances":{"Parameter1WithVendorAnnotation":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter1WithVendorAnnotation","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"Parameter1WithVendorAnnotation":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter1WithVendorAnnotation","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Parameter2.json b/test/reference/objects/test/FromModelica/Parameter2.json index 7d76a835..3ae8e815 100644 --- a/test/reference/objects/test/FromModelica/Parameter2.json +++ b/test/reference/objects/test/FromModelica/Parameter2.json @@ -1 +1 @@ -{"instances":{"Parameter2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo","type":"long_class_specifier"},"myPar1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myPar1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParNoValue":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParNoValue"},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParMin":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParMin","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParMax":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParMax","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParUnit":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParUnit","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInGroup":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInGroup"},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Gains\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Gains\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTab":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTab"},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTabInGroup1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTabInGroup1"},"description":{"description_string":"Some comment 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTabInGroup2":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTabInGroup2"},"description":{"description_string":"Some comment 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"Parameter2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo","type":"long_class_specifier"},"myPar1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myPar1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParNoValue":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParNoValue"},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParMin":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParMin","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParMax":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParMax","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParUnit":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParUnit","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInGroup":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInGroup"},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Gains\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Gains\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTab":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTab"},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTabInGroup1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTabInGroup1"},"description":{"description_string":"Some comment 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTabInGroup2":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTabInGroup2"},"description":{"description_string":"Some comment 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Parameter3.json b/test/reference/objects/test/FromModelica/Parameter3.json index 532ec657..234c1f66 100644 --- a/test/reference/objects/test/FromModelica/Parameter3.json +++ b/test/reference/objects/test/FromModelica/Parameter3.json @@ -1 +1 @@ -{"instances":{"Parameter3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo","type":"long_class_specifier"},"myPar1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"Parameter3","single_component_list":{"declaration":{"identifier":"myPar1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo"},"myParUnit":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Temperature","type":"element","long_class_specifier_identifier":"Parameter3","single_component_list":{"declaration":{"identifier":"myParUnit"},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"Parameter3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo","type":"long_class_specifier"},"myPar1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter3","single_component_list":{"declaration":{"identifier":"myPar1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo"},"myParUnit":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Temperature","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter3","single_component_list":{"declaration":{"identifier":"myParUnit"},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ParameterWithAttributes.json b/test/reference/objects/test/FromModelica/ParameterWithAttributes.json index 1832a00c..8148e16a 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithAttributes.json +++ b/test/reference/objects/test/FromModelica/ParameterWithAttributes.json @@ -1 +1 @@ -{"instances":{"ParameterWithAttributes":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"ParameterWithAttributes","single_component_list":{"declaration":{"identifier":"kP","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"start","modification":{"equal":true,"expression":{"simple_expression":"0.2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"fixed","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"PressureDifference\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"Pa\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"nominal","modification":{"equal":true,"expression":{"simple_expression":"0.5"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"stateSelect","modification":{"equal":true,"expression":{"simple_expression":"StateSelect.default"}}}}}],"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"ParameterWithAttributes":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithAttributes","single_component_list":{"declaration":{"identifier":"kP","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"start","modification":{"equal":true,"expression":{"simple_expression":"0.2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"fixed","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"PressureDifference\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"Pa\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"nominal","modification":{"equal":true,"expression":{"simple_expression":"0.5"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"stateSelect","modification":{"equal":true,"expression":{"simple_expression":"StateSelect.default"}}}}}],"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json b/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json index d0c149fe..321c7c88 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json +++ b/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json @@ -1 +1 @@ -{"instances":{"ParameterWithDefaultName":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"testName\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"ParameterWithDefaultName","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"ParameterWithDefaultName":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"testName\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithDefaultName","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ParameterWithInfo.json b/test/reference/objects/test/FromModelica/ParameterWithInfo.json index 94d691d3..23226cd6 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithInfo.json +++ b/test/reference/objects/test/FromModelica/ParameterWithInfo.json @@ -1 +1 @@ -{"instances":{"ParameterWithInfo":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"ParameterWithInfo","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"ParameterWithInfo":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithInfo","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json b/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json index 2e39d5ec..bda552c1 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json +++ b/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json @@ -1 +1 @@ -{"instances":{"ParameterWithVendorAnnotationInInfo":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"ParameterWithVendorAnnotationInInfo","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"ParameterWithVendorAnnotationInInfo":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithVendorAnnotationInInfo","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/PointList.json b/test/reference/objects/test/FromModelica/PointList.json index 31d095e3..c7001024 100644 --- a/test/reference/objects/test/FromModelica/PointList.json +++ b/test/reference/objects/test/FromModelica/PointList.json @@ -1 +1 @@ -{"instances":{"PointList":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Test device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"poiLis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Input one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Input two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"y1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"y1"},"description":{"description_string":"Output one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]},"iconTransformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]},"iconTransformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"y2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"y2"},"description":{"description_string":"Output two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]},"iconTransformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]},"iconTransformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"con1":{"type_specifier":"MyController","type":"element","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"con1"},"description":{"description_string":"Subcontroller one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2.u\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":50},{"x":10,"y":70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2.u\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":50},{"x":10,"y":70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"con2":{"type_specifier":"MyController","type":"element","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"con2"},"description":{"description_string":"Subcontroller two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-70},{"x":10,"y":-50}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-70},{"x":10,"y":-50}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"}},"requiredReferences":{"connections":{"u1":["con1.u1","con2.u1"],"u2":["con1.u2","con2.u2"],"con1.y":["y2"],"con2.y":["y1"]}}} \ No newline at end of file +{"instances":{"PointList":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Test device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"poiLis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Input one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Input two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"y1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"y1"},"description":{"description_string":"Output one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]},"iconTransformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]},"iconTransformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"y2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"y2"},"description":{"description_string":"Output two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]},"iconTransformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]},"iconTransformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"con1":{"type_specifier":"MyController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"con1"},"description":{"description_string":"Subcontroller one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2.u\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":50},{"x":10,"y":70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2.u\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":50},{"x":10,"y":70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"con2":{"type_specifier":"MyController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"con2"},"description":{"description_string":"Subcontroller two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-70},{"x":10,"y":-50}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-70},{"x":10,"y":-50}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"}},"requiredReferences":{"connections":{"u1":["con1.u1","con2.u1"],"u2":["con1.u2","con2.u2"],"con1.y":["y2"],"con2.y":["y1"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/RemovableInputs.json b/test/reference/objects/test/FromModelica/RemovableInputs.json index 07cd9ff5..cf03e876 100644 --- a/test/reference/objects/test/FromModelica/RemovableInputs.json +++ b/test/reference/objects/test/FromModelica/RemovableInputs.json @@ -1 +1 @@ -{"instances":{"RemovableInputs":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo","type":"long_class_specifier"},"enaBlo":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"enaBlo","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Flag for enabling instance"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"have_winSen":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"have_winSen"},"description":{"description_string":"True: there is window status sensor"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"have_occSen":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"have_occSen"},"description":{"description_string":"True: there is occupancy sensor"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"u"},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Temperature input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"TOutWitDef":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"TOutWitDef","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Temperature input with specified default value","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-70},{"x":-100,"y":-30}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"default","modification":{"equal":true,"expression":{"simple_expression":"300.15"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-70},{"x":-100,"y":-30}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"default","modification":{"equal":true,"expression":{"simple_expression":"300.15"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"uWin":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"uWin"},"condition_attribute":{"expression":{"simple_expression":"have_winSen"}},"description":{"description_string":"Window opening status","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-100},{"x":-100,"y":-60}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-100},{"x":-100,"y":-60}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"nOcc":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"nOcc"},"condition_attribute":{"expression":{"simple_expression":"have_occSen"}},"description":{"description_string":"Occupancy","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Abs","type":"element","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"abs"},"condition_attribute":{"expression":{"simple_expression":"not enaBlo"}},"description":{"description_string":"Instance could be conditional disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"RemovableInputs":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo","type":"long_class_specifier"},"enaBlo":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"enaBlo","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Flag for enabling instance"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"have_winSen":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"have_winSen"},"description":{"description_string":"True: there is window status sensor"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"have_occSen":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"have_occSen"},"description":{"description_string":"True: there is occupancy sensor"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"u"},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Temperature input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"TOutWitDef":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"TOutWitDef","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Temperature input with specified default value","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-70},{"x":-100,"y":-30}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"default","modification":{"equal":true,"expression":{"simple_expression":"300.15"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-70},{"x":-100,"y":-30}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"default","modification":{"equal":true,"expression":{"simple_expression":"300.15"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"uWin":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"uWin"},"condition_attribute":{"expression":{"simple_expression":"have_winSen"}},"description":{"description_string":"Window opening status","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-100},{"x":-100,"y":-60}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-100},{"x":-100,"y":-60}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"nOcc":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"nOcc"},"condition_attribute":{"expression":{"simple_expression":"have_occSen"}},"description":{"description_string":"Occupancy","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Abs","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"abs"},"condition_attribute":{"expression":{"simple_expression":"not enaBlo"}},"description":{"description_string":"Instance could be conditional disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/SubController.json b/test/reference/objects/test/FromModelica/SubController.json index 062dc929..db9973f6 100644 --- a/test/reference/objects/test/FromModelica/SubController.json +++ b/test/reference/objects/test/FromModelica/SubController.json @@ -1,614 +1 @@ -{ - "instances": { - "SubController": { - "within": "FromModelica", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo", - "type": "long_class_specifier", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "generatePointlist", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "controlledDevice", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Sub Device\"" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"subCon\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "preserveAspectRatio": "false" - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": -100 - }, - { - "x": 100, - "y": 100 - } - ], - "lineColor": { - "r": 0, - "g": 0, - "b": 127 - }, - "fillColor": { - "r": 255, - "g": 255, - "b": 255 - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": 140 - } - ], - "textString": "\"%name\"", - "lineColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Diagram", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "coordinateSystem": { - "preserveAspectRatio": "false" - } - } - } - } - ] - } - } - } - } - ], - "semantics": {} - }, - "u": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", - "type": "element", - "long_class_specifier_identifier": "SubController", - "single_component_list": { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Real input", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "connection", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "hardwired", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "trend", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "interval", - "modification": { - "equal": true, - "expression": { - "simple_expression": "60" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "connection", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "hardwired", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "trend", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "interval", - "modification": { - "equal": true, - "expression": { - "simple_expression": "60" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "FromModelica", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo" - }, - "y": { - "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", - "type": "element", - "long_class_specifier_identifier": "SubController", - "single_component_list": { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Real output", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "connection", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "hardwired", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "trend", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "interval", - "modification": { - "equal": true, - "expression": { - "simple_expression": "60" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ] - } - }, - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - }, - "iconTransformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "__cdl", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "connection", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "hardwired", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "trend", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "interval", - "modification": { - "equal": true, - "expression": { - "simple_expression": "60" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "enable", - "modification": { - "equal": true, - "expression": { - "simple_expression": "true" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "semantics": {}, - "within": "FromModelica", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo" - } - }, - "requiredReferences": {} -} \ No newline at end of file +{"instances":{"SubController":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Sub Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"subCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"SubController","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"SubController","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json b/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json index eb4ae28f..9e6ea5fa 100644 --- a/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json +++ b/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json @@ -1 +1 @@ -{"instances":{"SubControllerWithSemantics":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Sub Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"subCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . "}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . \n"}},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"SubControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"SubControllerWithSemantics","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"SubControllerWithSemantics":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Sub Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"subCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . "}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . \n"}},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"SubControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"SubControllerWithSemantics","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_1.json b/test/reference/objects/test/FromModelica/TestEvaluation_1.json index ebf0809a..730c3fc0 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_1.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_1.json @@ -1 +1 @@ -{"instances":{"TestEvaluation_1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uses","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"Buildings","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"version","modification":{"equal":true,"expression":{"simple_expression":"\"8.0.0\""}}}}}]}}}}]}}}}],"semantics":{}},"k1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"TestEvaluation_1","single_component_list":{"declaration":{"identifier":"k1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Constant output value"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo"},"con":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Sources.Constant","type":"element","long_class_specifier_identifier":"TestEvaluation_1","single_component_list":{"declaration":{"identifier":"con","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k1"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":10},{"x":0,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":10},{"x":0,"y":30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"TestEvaluation_1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uses","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"Buildings","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"version","modification":{"equal":true,"expression":{"simple_expression":"\"8.0.0\""}}}}}]}}}}]}}}}],"semantics":{}},"k1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_1","single_component_list":{"declaration":{"identifier":"k1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Constant output value"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo"},"con":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Sources.Constant","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_1","single_component_list":{"declaration":{"identifier":"con","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k1"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":10},{"x":0,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":10},{"x":0,"y":30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_2.json b/test/reference/objects/test/FromModelica/TestEvaluation_2.json index edc506a6..b97376e5 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_2.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_2.json @@ -1 +1 @@ -{"instances":{"TestEvaluation_2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uses","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"Buildings","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"version","modification":{"equal":true,"expression":{"simple_expression":"\"8.0.0\""}}}}}]}}}}]}}}}],"semantics":{}},"uLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"uLow","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}],"equal":true,"expression":{"simple_expression":"0.5"}}},"description":{"description_string":"if y=true and uuHigh, switch to y=true"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-118,"y":-20},{"x":-78,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-118,"y":-20},{"x":-78,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput","type":"element","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Boolean output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":80,"y":-20},{"x":120,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":80,"y":-20},{"x":120,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"hys":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Hysteresis","type":"element","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"hys","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"uLow"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"uHigh"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"}},"requiredReferences":{"connections":{"hys.u":["u"],"hys.y":["y"]}}} \ No newline at end of file +{"instances":{"TestEvaluation_2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uses","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"Buildings","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"version","modification":{"equal":true,"expression":{"simple_expression":"\"8.0.0\""}}}}}]}}}}]}}}}],"semantics":{}},"uLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"uLow","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}],"equal":true,"expression":{"simple_expression":"0.5"}}},"description":{"description_string":"if y=true and uuHigh, switch to y=true"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-118,"y":-20},{"x":-78,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-118,"y":-20},{"x":-78,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Boolean output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":80,"y":-20},{"x":120,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":80,"y":-20},{"x":120,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"hys":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Hysteresis","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"hys","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"uLow"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"uHigh"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"}},"requiredReferences":{"connections":{"hys.u":["u"],"hys.y":["y"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_3.json b/test/reference/objects/test/FromModelica/TestEvaluation_3.json index d842fdc1..583ff53d 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_3.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_3.json @@ -1 +1 @@ -{"instances":{"TestEvaluation_3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"k1":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"k1","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Constant output value"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"k2":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"k2","modification":{"equal":true,"expression":{"simple_expression":"not k1"}}}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"con":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"con","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k2"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"not k1"}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":10},{"x":10,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":10},{"x":10,"y":30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"con1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"con1","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k1"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-30},{"x":12,"y":-10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-30},{"x":12,"y":-10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"TestEvaluation_3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"k1":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"k1","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Constant output value"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"k2":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"k2","modification":{"equal":true,"expression":{"simple_expression":"not k1"}}}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"con":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"con","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k2"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"not k1"}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":10},{"x":10,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":10},{"x":10,"y":30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"con1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"con1","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k1"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-30},{"x":12,"y":-10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-30},{"x":12,"y":-10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_4.json b/test/reference/objects/test/FromModelica/TestEvaluation_4.json index 2ba1e840..fa46c4a9 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_4.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_4.json @@ -1 +1 @@ -{"instances":{"TestEvaluation_4":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"controllerTypeCooCoi":{"type_prefix":"parameter","type_specifier":"Buildings.Controls.OBC.CDL.Types.SimpleController","type":"element","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"controllerTypeCooCoi","modification":{"equal":true,"expression":{"simple_expression":"Buildings.Controls.OBC.CDL.Types.SimpleController.PI"}}},"description":{"description_string":"Type of controller"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"kCooCoi":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"kCooCoi","modification":{"equal":true,"expression":{"simple_expression":"0.1"}}},"description":{"description_string":"Gain for cooling coil control loop signal"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TiCooCoi":{"type_prefix":"parameter","type_specifier":"Real","type":"element","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TiCooCoi","modification":{"equal":true,"expression":{"simple_expression":"900"}}},"description":{"description_string":"Time constant of integrator block for cooling coil control loop signal"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TSupCooSet":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TSupCooSet"},"description":{"description_string":"Cooling supply air temperature setpoint","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TAirSup":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TAirSup"},"description":{"description_string":"Supply air temperature measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":0},{"x":-100,"y":40}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":0},{"x":-100,"y":40}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"uZonSta":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"uZonSta"},"description":{"description_string":"Zone state","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"u1SupFan":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"u1SupFan"},"description":{"description_string":"Supply fan proven on","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-98},{"x":-100,"y":-58}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-98},{"x":-100,"y":-58}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"yCooCoi":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"yCooCoi"},"description":{"description_string":"Cooling coil position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"cooCoi":{"type_specifier":"Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.CoolingCoil","type":"element","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"cooCoi","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"controllerTypeCooCoi","modification":{"equal":true,"expression":{"simple_expression":"controllerTypeCooCoi"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"kCooCoi","modification":{"equal":true,"expression":{"simple_expression":"kCooCoi"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"TiCooCoi","modification":{"equal":true,"expression":{"simple_expression":"TiCooCoi"}}}}}]}},"description":{"description_string":"Cooling coil control","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"}},"requiredReferences":{"connections":{"cooCoi.TSupCooSet":["TSupCooSet"],"cooCoi.TAirSup":["TAirSup"],"cooCoi.uZonSta":["uZonSta"],"cooCoi.u1SupFan":["u1SupFan"],"cooCoi.yCooCoi":["yCooCoi"]}}} \ No newline at end of file +{"instances":{"TestEvaluation_4":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"controllerTypeCooCoi":{"type_prefix":"parameter","type_specifier":"Buildings.Controls.OBC.CDL.Types.SimpleController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"controllerTypeCooCoi","modification":{"equal":true,"expression":{"simple_expression":"Buildings.Controls.OBC.CDL.Types.SimpleController.PI"}}},"description":{"description_string":"Type of controller"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"kCooCoi":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"kCooCoi","modification":{"equal":true,"expression":{"simple_expression":"0.1"}}},"description":{"description_string":"Gain for cooling coil control loop signal"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TiCooCoi":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TiCooCoi","modification":{"equal":true,"expression":{"simple_expression":"900"}}},"description":{"description_string":"Time constant of integrator block for cooling coil control loop signal"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TSupCooSet":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TSupCooSet"},"description":{"description_string":"Cooling supply air temperature setpoint","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TAirSup":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TAirSup"},"description":{"description_string":"Supply air temperature measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":0},{"x":-100,"y":40}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":0},{"x":-100,"y":40}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"uZonSta":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"uZonSta"},"description":{"description_string":"Zone state","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"u1SupFan":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"u1SupFan"},"description":{"description_string":"Supply fan proven on","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-98},{"x":-100,"y":-58}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-98},{"x":-100,"y":-58}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"yCooCoi":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"yCooCoi"},"description":{"description_string":"Cooling coil position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"cooCoi":{"type_specifier":"Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.CoolingCoil","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"cooCoi","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"controllerTypeCooCoi","modification":{"equal":true,"expression":{"simple_expression":"controllerTypeCooCoi"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"kCooCoi","modification":{"equal":true,"expression":{"simple_expression":"kCooCoi"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"TiCooCoi","modification":{"equal":true,"expression":{"simple_expression":"TiCooCoi"}}}}}]}},"description":{"description_string":"Cooling coil control","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"}},"requiredReferences":{"connections":{"cooCoi.TSupCooSet":["TSupCooSet"],"cooCoi.TAirSup":["TAirSup"],"cooCoi.uZonSta":["uZonSta"],"cooCoi.u1SupFan":["u1SupFan"],"cooCoi.yCooCoi":["yCooCoi"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/VariableModification.json b/test/reference/objects/test/FromModelica/VariableModification.json index d195c91b..f9cb10a5 100644 --- a/test/reference/objects/test/FromModelica/VariableModification.json +++ b/test/reference/objects/test/FromModelica/VariableModification.json @@ -1 +1 @@ -{"instances":{"VariableModification":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo","type":"long_class_specifier"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"Temperature input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Abs","type":"element","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"abs","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"u","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"y","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}}]}}}}]}},"description":{"description_string":"Instance with modified input and output attributes","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"VariableModification":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo","type":"long_class_specifier"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"Temperature input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Abs","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"abs","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"u","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"y","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}}]}}}}]}},"description":{"description_string":"Instance with modified input and output attributes","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/WithCDLElementary.json b/test/reference/objects/test/FromModelica/WithCDLElementary.json index da44f88b..ff2e7d93 100644 --- a/test/reference/objects/test/FromModelica/WithCDLElementary.json +++ b/test/reference/objects/test/FromModelica/WithCDLElementary.json @@ -1 +1 @@ -{"instances":{"WithCDLElementary":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"gre":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Greater","type":"element","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"gre"},"description":{"description_string":"CDL elementary block with inside class","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-212,"y":-12},{"x":-172,"y":28}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-212,"y":-12},{"x":-172,"y":28}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":-184,"y":-4},{"x":-144,"y":36}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":-184,"y":-4},{"x":-144,"y":36}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"WithCDLElementary":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"gre":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Greater","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"gre"},"description":{"description_string":"CDL elementary block with inside class","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-212,"y":-12},{"x":-172,"y":28}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-212,"y":-12},{"x":-172,"y":28}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":-184,"y":-4},{"x":-144,"y":36}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":-184,"y":-4},{"x":-144,"y":36}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/package.json b/test/reference/objects/test/FromModelica/package.json index efeb8442..e7699777 100644 --- a/test/reference/objects/test/FromModelica/package.json +++ b/test/reference/objects/test/FromModelica/package.json @@ -1 +1 @@ -{"instances":{"FromModelica":{"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo","type":"long_class_specifier"},"one":{"type_prefix":"constant","type_specifier":"Integer","type":"element","long_class_specifier_identifier":"FromModelica","single_component_list":{"declaration":{"identifier":"one","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"An integer constant with value 1"}},"annotation":null,"semantics":{},"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"FromModelica":{"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo","type":"long_class_specifier"},"one":{"type_prefix":"constant","type_specifier":"Integer","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"FromModelica","single_component_list":{"declaration":{"identifier":"one","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"An integer constant with value 1"}},"annotation":null,"semantics":{},"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/raw-json/test/FromModelica/MisplacedInfoWithEquation.json b/test/reference/raw-json/test/FromModelica/MisplacedInfoWithEquation.json index 1604bf67..7c7b5b90 100644 --- a/test/reference/raw-json/test/FromModelica/MisplacedInfoWithEquation.json +++ b/test/reference/raw-json/test/FromModelica/MisplacedInfoWithEquation.json @@ -1 +1 @@ -{"within":"FromModelica","final_class_definitions":[{"is_final":false,"class_definition":{"encapsulated":false,"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"MisplacedInfoWithEquation","string_comment":"\"A block that places info section in equation section\"","composition":{"element_list":{"elements":[{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_prefix":"parameter","type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Real"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"k","modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}},"comment":{"string_comment":"\"Constant gain\""}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealInput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"u"},"comment":{"string_comment":"\"Input signal\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"iconTransformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealOutput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"y1"},"comment":{"string_comment":"\"Output signal\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealOutput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"y2"},"comment":{"string_comment":"\"Output signal\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Reals"},{"dot_op":true,"identifier":"MultiplyByParameter"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"gain","modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":true,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"k"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"component_reference":{"component_reference_parts":[{"dot_op":false,"identifier":"k"}]},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false}},"comment":{"string_comment":"\"Constant gain\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}}]},"element_sections":[{"equation_section":{"initial":false,"equations":[{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"u"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"y"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"y"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":22,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":110,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"assignment_equation":{"lhs":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"component_reference":{"component_reference_parts":[{"dot_op":false,"identifier":"y2"}]},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"rhs":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"component_reference":{"component_reference_parts":[{"dot_op":false,"identifier":"k"}]},"expression_lists":[],"end":false},"op":""},{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"component_reference":{"component_reference_parts":[{"dot_op":false,"identifier":"u"}]},"expression_lists":[],"end":false},"op":""}],"mul_ops":["*"]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Documentation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"info"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"\n

\nBlock that outputs y = 2 * u.\n

\n\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}]},"is_extends":false}}}}],"modelicaFile":"test/FromModelica/MisplacedInfoWithEquation.mo","checksum":"0b4780e5bcefa5651cdf3c7abfe2b68f"} \ No newline at end of file +{"within":"FromModelica","final_class_definitions":[{"is_final":false,"class_definition":{"encapsulated":false,"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"MisplacedInfoWithEquation","string_comment":"\"A block that places info section in equation section\"","composition":{"element_list":{"elements":[{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_prefix":"parameter","type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Real"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"k","modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}},"comment":{"string_comment":"\"Constant gain\""}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealInput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"u"},"comment":{"string_comment":"\"Input signal\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"iconTransformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealOutput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"y1"},"comment":{"string_comment":"\"Output signal\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealOutput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"y2"},"comment":{"string_comment":"\"Output signal\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Reals"},{"dot_op":true,"identifier":"MultiplyByParameter"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"gain","modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":true,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"k"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"component_reference":{"component_reference_parts":[{"dot_op":false,"identifier":"k"}]},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false}},"comment":{"string_comment":"\"Constant gain\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}}]},"element_sections":[{"equation_section":{"initial":false,"equations":[{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"u"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"y"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"y1"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":22,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":110,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"assignment_equation":{"lhs":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"component_reference":{"component_reference_parts":[{"dot_op":false,"identifier":"y2"}]},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"rhs":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"component_reference":{"component_reference_parts":[{"dot_op":false,"identifier":"k"}]},"expression_lists":[],"end":false},"op":""},{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"component_reference":{"component_reference_parts":[{"dot_op":false,"identifier":"u"}]},"expression_lists":[],"end":false},"op":""}],"mul_ops":["*"]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Documentation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"info"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"\n

\nBlock that outputs y = 2 * u.\n

\n\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}]},"is_extends":false}}}}],"modelicaFile":"test/FromModelica/MisplacedInfoWithEquation.mo","checksum":"8fb1bb97ff8f9749ff975e699fc5f359"} \ No newline at end of file diff --git a/test/reference/raw-json/test/FromModelica/MyControllerWithSemantics.json b/test/reference/raw-json/test/FromModelica/MyControllerWithSemantics.json index 475bde36..fb28067c 100644 --- a/test/reference/raw-json/test/FromModelica/MyControllerWithSemantics.json +++ b/test/reference/raw-json/test/FromModelica/MyControllerWithSemantics.json @@ -1 +1 @@ -{"within":"FromModelica","final_class_definitions":[{"is_final":false,"class_definition":{"encapsulated":false,"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"MyControllerWithSemantics","string_comment":"\"My controller with semantics\"","composition":{"element_list":{"elements":[{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealInput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"u1"},"comment":{"string_comment":"\"Real input 1\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"iconTransformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":80,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"__cdl"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"connection"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"hardwired"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"trend"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"interval"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"enable"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"semantic"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"metadataLanguage"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"Brick 1.3 text/turtle\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":"\"bldg: a Brick:Temperature_Sensor .\""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"naturalLanguage"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"en\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":"\" is a temperature sensor input\""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealInput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"u2"},"comment":{"string_comment":"\"Real input 2\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"iconTransformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":80,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"__cdl"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"connection"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"hardwired"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"trend"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"interval"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"enable"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"semantic"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"naturalLanguage"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"en\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":"\" is a temperature sensor input\""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealOutput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"y"},"comment":{"string_comment":"\"Real output\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"iconTransformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"__cdl"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"connection"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"hardwired"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"trend"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"interval"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"enable"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Reals"},{"dot_op":true,"identifier":"Add"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"add2"},"comment":{"string_comment":"\"Add two real inputs\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"SubController"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"heaCoi"},"comment":{"string_comment":"\"Heating Coil\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":50,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":30,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"__cdl"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"generatePointlist"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"semantic"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"metadataLanguage"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"Brick 1.3 text/turtle\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":"\"bldg: a Brick:Heating_Coil .\""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"naturalLanguage"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"en\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":"\" is a heating coil.\""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"SubControllerWithSemantics"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"subCon2"},"comment":{"string_comment":"\"Cooling Coil\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":90,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":70,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}}]},"element_sections":[{"equation_section":{"initial":false,"equations":[{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"u1"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":6,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":12,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":6,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"u2"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":6,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":12,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":6,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"y"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":12,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"u2"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"subCon1"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":12,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"u2"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"subCon2"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":80,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":12,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":80,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}],"annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"__cdl"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"generatePointlist"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"controlledDevice"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"My Device\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"semantic"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"metadataLanguage"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"Brick 1.3 text/turtle\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":"\"@prefix Brick: .\n @prefix bldg: . \""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"defaultComponentName"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"myCon\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Icon"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"coordinateSystem"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"preserveAspectRatio"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":true,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"graphics"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"function_name":{"name_parts":[{"dot_op":false,"identifier":"Rectangle"}]},"der":false,"initial":false,"function_call_args":{"function_arguments":{"named_arguments":{"named_argument":{"identifier":"extent","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}},"named_arguments":{"named_argument":{"identifier":"lineColor","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}},"named_arguments":{"named_argument":{"identifier":"fillColor","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":255,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":255,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":255,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}},"named_arguments":{"named_argument":{"identifier":"fillPattern","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"component_reference":{"component_reference_parts":[{"dot_op":false,"identifier":"FillPattern"},{"dot_op":true},{"dot_op":false,"identifier":"Solid"}]},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}}}}}}},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"function_name":{"name_parts":[{"dot_op":false,"identifier":"Text"}]},"der":false,"initial":false,"function_call_args":{"function_arguments":{"named_arguments":{"named_argument":{"identifier":"lineColor","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":255,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}},"named_arguments":{"named_argument":{"identifier":"extent","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}},"named_arguments":{"named_argument":{"identifier":"textString","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"%name\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}}}}}},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Diagram"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"coordinateSystem"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"preserveAspectRatio"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":true,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}},"is_extends":false}}}}],"modelicaFile":"test/FromModelica/MyControllerWithSemantics.mo","checksum":"30035da8ee2c53cf2d9e888782dddd55"} \ No newline at end of file +{"within":"FromModelica","final_class_definitions":[{"is_final":false,"class_definition":{"encapsulated":false,"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"MyControllerWithSemantics","string_comment":"\"My controller with semantics\"","composition":{"element_list":{"elements":[{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealInput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"u1"},"comment":{"string_comment":"\"Real input 1\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"iconTransformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":80,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"__cdl"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"connection"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"hardwired"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"trend"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"interval"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"enable"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"semantic"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"metadataLanguage"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"Brick 1.3 text/turtle\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":"\"bldg: a Brick:Temperature_Sensor .\""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"naturalLanguage"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"en\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":"\" is a temperature sensor input\""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealInput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"u2"},"comment":{"string_comment":"\"Real input 2\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"iconTransformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":80,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"__cdl"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"connection"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"hardwired"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"trend"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"interval"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"enable"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"semantic"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"naturalLanguage"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"en\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":"\" is a temperature sensor input\""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealOutput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"y"},"comment":{"string_comment":"\"Real output\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"iconTransformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"__cdl"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"connection"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"hardwired"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"trend"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"interval"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"enable"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Reals"},{"dot_op":true,"identifier":"Add"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"add2"},"comment":{"string_comment":"\"Add two real inputs\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"SubController"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"heaCoi"},"comment":{"string_comment":"\"Heating Coil\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":50,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":30,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"__cdl"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"generatePointlist"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"semantic"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"metadataLanguage"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"Brick 1.3 text/turtle\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":"\"bldg: a Brick:Heating_Coil .\""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"naturalLanguage"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"en\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":"\" is a heating coil.\""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"SubControllerWithSemantics"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"subCon2"},"comment":{"string_comment":"\"Cooling Coil\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":90,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":70,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}}]},"element_sections":[{"equation_section":{"initial":false,"equations":[{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"u1"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":6,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":12,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":6,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"u2"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":6,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":12,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":6,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"y"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":12,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"u2"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"heaCoi"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":12,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"u2"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"subCon2"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":80,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":12,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":80,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}],"annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"__cdl"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"generatePointlist"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"controlledDevice"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"My Device\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"semantic"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"metadataLanguage"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"Brick 1.3 text/turtle\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":"\"@prefix Brick: .\n @prefix bldg: . \""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"defaultComponentName"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"myCon\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Icon"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"coordinateSystem"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"preserveAspectRatio"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":true,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"graphics"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"function_name":{"name_parts":[{"dot_op":false,"identifier":"Rectangle"}]},"der":false,"initial":false,"function_call_args":{"function_arguments":{"named_arguments":{"named_argument":{"identifier":"extent","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}},"named_arguments":{"named_argument":{"identifier":"lineColor","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}},"named_arguments":{"named_argument":{"identifier":"fillColor","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":255,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":255,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":255,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}},"named_arguments":{"named_argument":{"identifier":"fillPattern","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"component_reference":{"component_reference_parts":[{"dot_op":false,"identifier":"FillPattern"},{"dot_op":true},{"dot_op":false,"identifier":"Solid"}]},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}}}}}}},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"function_name":{"name_parts":[{"dot_op":false,"identifier":"Text"}]},"der":false,"initial":false,"function_call_args":{"function_arguments":{"named_arguments":{"named_argument":{"identifier":"lineColor","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":255,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}},"named_arguments":{"named_argument":{"identifier":"extent","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}},"named_arguments":{"named_argument":{"identifier":"textString","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"%name\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}}}}}},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Diagram"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"coordinateSystem"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"preserveAspectRatio"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":true,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}},"is_extends":false}}}}],"modelicaFile":"test/FromModelica/MyControllerWithSemantics.mo","checksum":"b95835e212fdb0daca282b55acf9e1bf"} \ No newline at end of file diff --git a/test/test_jsonquery.js b/test/test_jsonquery.js index 62ebe1af..a0cb7e5d 100644 --- a/test/test_jsonquery.js +++ b/test/test_jsonquery.js @@ -9,7 +9,7 @@ function equalObjects (dict, reference) { return true } else if ((dict === undefined) || (reference === undefined)) { return false - } else if ((dict === {} && reference === {})) { + } else if ((dict.length === 0 && reference.length === 0)) { return true } if (typeof (dict) !== typeof (reference)) { diff --git a/test/test_parser.js b/test/test_parser.js index e56d4f79..b2b6a001 100644 --- a/test/test_parser.js +++ b/test/test_parser.js @@ -132,7 +132,7 @@ const checkModJSON = function (outFormat, extension, message) { }) } -/** Function that checks parsing from Modelica to JSON, in 'modelica' parsing mode +/** Function that checks parsing from Modelica to Objects Json, in 'modelica' parsing mode */ const checkObjectsJSON = function (outFormat, extension, message) { const mode = 'modelica' @@ -209,20 +209,67 @@ const checkObjectsJSON = function (outFormat, extension, message) { }) } +/** Function that checks parsing from Modelica to Objects Json, in 'modelica' parsing mode + */ +const checkCxfJson = function (outFormat, extension, message) { + const mode = 'modelica' + // process.env.MODELICAPATH = __dirname + mo.it(message, () => { + // mo files package to be tested + const testMoFilesTemp = getIntFiles(mode) + const testMoFiles = ut.getMoFiles(testMoFilesTemp) + + // Name of subpackage to store json output files + const subPackName = 'cxf' + // When parsing mode is 'modelica', the moFiles should feed into parser in package + // const jsonNewMOD = pa.getJSON(testMoFiles, mode, outFormat) + pa.getJsons(testMoFiles, mode, outFormat, 'current', 'false') + const pattern = path.join('test', 'FromModelica', '*.mo') + const files = glob.sync(pattern) + const filesToExclude = glob.sync(path.join('test', 'FromModelica', 'ExtendsClause*')) + const expectedOutputPath = path.join(process.cwd(), 'test', 'reference', subPackName, 'test', 'FromModelica') + const actualOutputPath = path.join(process.cwd(), subPackName, 'test', 'FromModelica') + + for (let i = 0; i < files.length; i++) { + const idx2 = files[i].lastIndexOf(path.sep) + const fileNameMOD = files[i].slice(idx2 + 1, -3) + extension + if (!filesToExclude.includes(files[i])) { + const oldFileMOD = path.join(expectedOutputPath, fileNameMOD) + // Read the old json + const jsonOldMOD = JSON.parse(fs.readFileSync(oldFileMOD, 'utf8')) + + const jsonNewMOD = path.join(actualOutputPath, fileNameMOD) + const neMOD = JSON.parse(fs.readFileSync(jsonNewMOD, 'utf8')) + + const tempOld = JSON.stringify(jsonOldMOD) + const tempNew = JSON.stringify(neMOD) + as.notEqual(tempOld, undefined, 'JSON is undefined') + as.deepEqual(tempNew, tempOld, 'JSON result differs for ' + oldFileMOD) + } else { + const jsonLdPath = path.join(actualOutputPath, fileNameMOD) + as.throws(function () { fs.readFileSync(jsonLdPath, 'utf8') }, Error, 'asd') + } + } + }) +} + mo.describe('parser.js', function () { - mo.describe('Testing parse from Modelica to raw Json, in "cdl" parsing mode', function () { + mo.describe('Testing Modelica to raw-json in "cdl" parsing mode', function () { checkCdlJSON('raw-json', '.json', 'Testing unmodified json for equality, "cdl" mode') }) - mo.describe('Testing parse from Modelica to raw Json, in "modelica" parsing mode', function () { + mo.describe('Testing Modelica to raw-json, in "modelica" parsing mode', function () { checkModJSON('raw-json', '.json', 'Testing unmodified json for equality, "modelica" mode') }) - mo.describe('Testing parse from Modelica to Json, in "cdl" parsing mode', function () { + mo.describe('Testing Modelica to JSON, in "cdl" parsing mode', function () { checkCdlJSON('json', '.json', 'Testing json for equality, "cdl" mode') }) - mo.describe('Testing parse from Modelica to Json, in "modelica" parsing mode', function () { + mo.describe('Testing Modelica to JSON, in "modelica" parsing mode', function () { checkModJSON('json', '.json', 'Testing json for equality, "modelica" mode') }) mo.describe('Testing parse from Modelica to Objects Json, in "cdl" parsing mode', function () { checkObjectsJSON('semantic', '.json', 'Testing json for equality, "cdl" mode') }) + mo.describe('Testing parse from Modelica to CXF JsonLD, in "cdl" parsing mode', function () { + checkCxfJson('cxf', '.jsonld', 'Testing json for equality, "cdl" mode') + }) }) From ea86d7089ea61edd04b4936d506660e12b2eb491 Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Wed, 13 Dec 2023 15:23:05 -0800 Subject: [PATCH 09/25] updating node names for connections --- lib/objectExtractor.js | 3 ++- test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld | 2 +- test/reference/cxf/test/FromModelica/Enable.jsonld | 2 +- .../cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld | 2 +- test/reference/cxf/test/FromModelica/MyController.jsonld | 2 +- .../cxf/test/FromModelica/MyControllerWithSemantics.jsonld | 2 +- test/reference/cxf/test/FromModelica/PointList.jsonld | 2 +- test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld | 2 +- test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld | 2 +- 9 files changed, 10 insertions(+), 9 deletions(-) diff --git a/lib/objectExtractor.js b/lib/objectExtractor.js index 533cf72d..da7356a2 100644 --- a/lib/objectExtractor.js +++ b/lib/objectExtractor.js @@ -567,7 +567,8 @@ function getInstanceNode (element, cxfPrefix, newInstances) { if (element.split('.').length > 1) { const instance = element.split('.').slice(0, 1)[0] const instanceNode = newInstances[instance].cxfNode - node = cxfPrefix(instanceNode.value + '#' + element.split('.').slice(1).join('#')) + const className = instanceNode.value.split('#')[0].split(':').slice(-1)[0] + node = cxfPrefix(`${className}#${element.replace('.', '#')}`) } else { node = newInstances[element].cxfNode } diff --git a/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld b/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld index 509ee0ca..762d63a2 100644 --- a/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld +++ b/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld @@ -1 +1 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:CustomPWithLimiter","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:CustomPWithLimiter#gain"},{"@id":"seq:CustomPWithLimiter#minValue"}],"S231P:hasInput":[{"@id":"seq:CustomPWithLimiter#e"},{"@id":"seq:CustomPWithLimiter#yMax"}],"S231P:hasOutput":{"@id":"seq:CustomPWithLimiter#y"},"S231P:hasParameter":{"@id":"seq:CustomPWithLimiter#k"}},{"@id":"seq:CustomPWithLimiter#e","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:CustomPWithLimiter#gain#u"}},{"@id":"seq:CustomPWithLimiter#gain","@type":"https://data.ashrae.org/S231P#CXF.Reals.MultiplyByParameter"},{"@id":"seq:CustomPWithLimiter#k","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:CustomPWithLimiter#minValue","@type":"https://data.ashrae.org/S231P#CXF.Reals.Min"},{"@id":"seq:CustomPWithLimiter#y","@type":"S231P:RealOutput"},{"@id":"seq:CustomPWithLimiter#yMax","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:CustomPWithLimiter#minValue#u1"}},{"@id":"seq:seq:CustomPWithLimiter#gain#y","S231P:isConnectedTo":{"@id":"seq:seq:CustomPWithLimiter#minValue#u2"}},{"@id":"seq:seq:CustomPWithLimiter#minValue#y","S231P:isConnectedTo":{"@id":"seq:CustomPWithLimiter#y"}}]} \ No newline at end of file +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:CustomPWithLimiter","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:CustomPWithLimiter#gain"},{"@id":"seq:CustomPWithLimiter#minValue"}],"S231P:hasInput":[{"@id":"seq:CustomPWithLimiter#e"},{"@id":"seq:CustomPWithLimiter#yMax"}],"S231P:hasOutput":{"@id":"seq:CustomPWithLimiter#y"},"S231P:hasParameter":{"@id":"seq:CustomPWithLimiter#k"}},{"@id":"seq:CustomPWithLimiter#e","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:CustomPWithLimiter#gain#u"}},{"@id":"seq:CustomPWithLimiter#gain","@type":"https://data.ashrae.org/S231P#CXF.Reals.MultiplyByParameter"},{"@id":"seq:CustomPWithLimiter#gain#y","S231P:isConnectedTo":{"@id":"seq:CustomPWithLimiter#minValue#u2"}},{"@id":"seq:CustomPWithLimiter#k","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:CustomPWithLimiter#minValue","@type":"https://data.ashrae.org/S231P#CXF.Reals.Min"},{"@id":"seq:CustomPWithLimiter#minValue#y","S231P:isConnectedTo":{"@id":"seq:CustomPWithLimiter#y"}},{"@id":"seq:CustomPWithLimiter#y","@type":"S231P:RealOutput"},{"@id":"seq:CustomPWithLimiter#yMax","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:CustomPWithLimiter#minValue#u1"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/Enable.jsonld b/test/reference/cxf/test/FromModelica/Enable.jsonld index 35a22bfd..22309b57 100644 --- a/test/reference/cxf/test/FromModelica/Enable.jsonld +++ b/test/reference/cxf/test/FromModelica/Enable.jsonld @@ -1 +1 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:Enable","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:Enable#and1"},{"@id":"seq:Enable#and2"},{"@id":"seq:Enable#and3"},{"@id":"seq:Enable#andEnaDis"},{"@id":"seq:Enable#conInt"},{"@id":"seq:Enable#delOutDamOsc"},{"@id":"seq:Enable#delRetDam"},{"@id":"seq:Enable#entSubst1"},{"@id":"seq:Enable#hysOutEnt"},{"@id":"seq:Enable#hysOutTem"},{"@id":"seq:Enable#intEqu"},{"@id":"seq:Enable#maxRetDamSwitch"},{"@id":"seq:Enable#minRetDamSwitch"},{"@id":"seq:Enable#not1"},{"@id":"seq:Enable#not2"},{"@id":"seq:Enable#or2"},{"@id":"seq:Enable#outDamSwitch"},{"@id":"seq:Enable#retDamSwitch"},{"@id":"seq:Enable#sub1"},{"@id":"seq:Enable#sub2"},{"@id":"seq:Enable#truFalHol"}],"S231P:hasInput":[{"@id":"seq:Enable#hOut"},{"@id":"seq:Enable#hOutCut"},{"@id":"seq:Enable#TOut"},{"@id":"seq:Enable#TOutCut"},{"@id":"seq:Enable#u1SupFan"},{"@id":"seq:Enable#uFreProSta"},{"@id":"seq:Enable#uOutDam_max"},{"@id":"seq:Enable#uOutDam_min"},{"@id":"seq:Enable#uRetDam_max"},{"@id":"seq:Enable#uRetDam_min"},{"@id":"seq:Enable#uRetDamPhy_max"}],"S231P:hasOutput":[{"@id":"seq:Enable#yOutDam_max"},{"@id":"seq:Enable#yRetDam_max"},{"@id":"seq:Enable#yRetDam_min"}],"S231P:hasParameter":[{"@id":"seq:Enable#delEntHis"},{"@id":"seq:Enable#delTOutHis"},{"@id":"seq:Enable#disDel"},{"@id":"seq:Enable#hOutHigLimCutHig"},{"@id":"seq:Enable#hOutHigLimCutLow"},{"@id":"seq:Enable#retDamFulOpeTim"},{"@id":"seq:Enable#TOutHigLimCutHig"},{"@id":"seq:Enable#TOutHigLimCutLow"},{"@id":"seq:Enable#use_enthalpy"}]},{"@id":"seq:Enable#and1","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#and2","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#and3","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#andEnaDis","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#conInt","@type":"seq:Buildings.Controls.OBC.CDL.Integers.Sources.Constant"},{"@id":"seq:Enable#delEntHis","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#delOutDamOsc","@type":"https://data.ashrae.org/S231P#CXF.Logical.TrueDelay"},{"@id":"seq:Enable#delRetDam","@type":"https://data.ashrae.org/S231P#CXF.Logical.TrueDelay"},{"@id":"seq:Enable#delTOutHis","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#disDel","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#entSubst1","@type":"seq:Buildings.Controls.OBC.CDL.Logical.Sources.Constant"},{"@id":"seq:Enable#hOut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:Enable#sub2#u1"}},{"@id":"seq:Enable#hOutCut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:Enable#sub2#u2"}},{"@id":"seq:Enable#hOutHigLimCutHig","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#hOutHigLimCutLow","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#hysOutEnt","@type":"https://data.ashrae.org/S231P#CXF.Reals.Hysteresis"},{"@id":"seq:Enable#hysOutTem","@type":"https://data.ashrae.org/S231P#CXF.Reals.Hysteresis"},{"@id":"seq:Enable#intEqu","@type":"https://data.ashrae.org/S231P#CXF.Integers.Equal"},{"@id":"seq:Enable#maxRetDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#minRetDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#not1","@type":"https://data.ashrae.org/S231P#CXF.Logical.Not"},{"@id":"seq:Enable#not2","@type":"https://data.ashrae.org/S231P#CXF.Logical.Not"},{"@id":"seq:Enable#or2","@type":"https://data.ashrae.org/S231P#CXF.Logical.Or"},{"@id":"seq:Enable#outDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#retDamFulOpeTim","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#retDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#sub1","@type":"https://data.ashrae.org/S231P#CXF.Reals.Subtract"},{"@id":"seq:Enable#sub2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Subtract"},{"@id":"seq:Enable#TOut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:Enable#sub1#u1"}},{"@id":"seq:Enable#TOutCut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:Enable#sub1#u2"}},{"@id":"seq:Enable#TOutHigLimCutHig","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#TOutHigLimCutLow","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#truFalHol","@type":"https://data.ashrae.org/S231P#CXF.Logical.TrueFalseHold"},{"@id":"seq:Enable#u1SupFan","@type":"S231P:BooleanInput","S231P:isConnectedTo":{"@id":"seq:seq:Enable#and1#u2"}},{"@id":"seq:Enable#uFreProSta","@type":"S231P:IntegerInput","S231P:isConnectedTo":{"@id":"seq:seq:Enable#intEqu#u1"}},{"@id":"seq:Enable#uOutDam_max","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:Enable#outDamSwitch#u3"}},{"@id":"seq:Enable#uOutDam_min","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:Enable#outDamSwitch#u1"}},{"@id":"seq:Enable#uRetDam_max","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:seq:Enable#maxRetDamSwitch#u3"},{"@id":"seq:seq:Enable#retDamSwitch#u1"}]},{"@id":"seq:Enable#uRetDam_min","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:Enable#retDamSwitch#u3"}},{"@id":"seq:Enable#uRetDamPhy_max","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:seq:Enable#maxRetDamSwitch#u1"},{"@id":"seq:seq:Enable#minRetDamSwitch#u1"}]},{"@id":"seq:Enable#use_enthalpy","S231P:isOfDataType":{"@id":"S231P:Boolean"}},{"@id":"seq:Enable#yOutDam_max","@type":"S231P:RealOutput"},{"@id":"seq:Enable#yRetDam_max","@type":"S231P:RealOutput"},{"@id":"seq:Enable#yRetDam_min","@type":"S231P:RealOutput"},{"@id":"seq:seq:Enable#and1#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#andEnaDis#u1"}},{"@id":"seq:seq:Enable#and2#u1","S231P:isConnectedTo":{"@id":"seq:seq:Enable#not2#y"}},{"@id":"seq:seq:Enable#and2#y","S231P:isConnectedTo":[{"@id":"seq:seq:Enable#maxRetDamSwitch#u2"},{"@id":"seq:seq:Enable#minRetDamSwitch#u2"}]},{"@id":"seq:seq:Enable#and3#u2","S231P:isConnectedTo":{"@id":"seq:seq:Enable#delOutDamOsc#y"}},{"@id":"seq:seq:Enable#andEnaDis#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#not2#u"}},{"@id":"seq:seq:Enable#conInt#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#intEqu#u2"}},{"@id":"seq:seq:Enable#delOutDamOsc#u","S231P:isConnectedTo":{"@id":"seq:seq:Enable#not2#y"}},{"@id":"seq:seq:Enable#delRetDam#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#not1#u"}},{"@id":"seq:seq:Enable#entSubst1#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#or2#u2"}},{"@id":"seq:seq:Enable#hysOutEnt#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#or2#u2"}},{"@id":"seq:seq:Enable#hysOutTem#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#or2#u1"}},{"@id":"seq:seq:Enable#intEqu#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#andEnaDis#u2"}},{"@id":"seq:seq:Enable#maxRetDamSwitch#y","S231P:isConnectedTo":{"@id":"seq:Enable#yRetDam_max"}},{"@id":"seq:seq:Enable#minRetDamSwitch#y","S231P:isConnectedTo":{"@id":"seq:Enable#yRetDam_min"}},{"@id":"seq:seq:Enable#not1#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#and2#u2"}},{"@id":"seq:seq:Enable#not2#y","S231P:isConnectedTo":[{"@id":"seq:seq:Enable#and3#u1"},{"@id":"seq:seq:Enable#delRetDam#u"},{"@id":"seq:seq:Enable#retDamSwitch#u2"}]},{"@id":"seq:seq:Enable#or2#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#truFalHol#u"}},{"@id":"seq:seq:Enable#outDamSwitch#u2","S231P:isConnectedTo":{"@id":"seq:seq:Enable#and3#y"}},{"@id":"seq:seq:Enable#outDamSwitch#y","S231P:isConnectedTo":{"@id":"seq:Enable#yOutDam_max"}},{"@id":"seq:seq:Enable#retDamSwitch#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#minRetDamSwitch#u3"}},{"@id":"seq:seq:Enable#sub1#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#hysOutTem#u"}},{"@id":"seq:seq:Enable#sub2#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#hysOutEnt#u"}},{"@id":"seq:seq:Enable#truFalHol#y","S231P:isConnectedTo":{"@id":"seq:seq:Enable#and1#u1"}}]} \ No newline at end of file +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:Enable","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:Enable#and1"},{"@id":"seq:Enable#and2"},{"@id":"seq:Enable#and3"},{"@id":"seq:Enable#andEnaDis"},{"@id":"seq:Enable#conInt"},{"@id":"seq:Enable#delOutDamOsc"},{"@id":"seq:Enable#delRetDam"},{"@id":"seq:Enable#entSubst1"},{"@id":"seq:Enable#hysOutEnt"},{"@id":"seq:Enable#hysOutTem"},{"@id":"seq:Enable#intEqu"},{"@id":"seq:Enable#maxRetDamSwitch"},{"@id":"seq:Enable#minRetDamSwitch"},{"@id":"seq:Enable#not1"},{"@id":"seq:Enable#not2"},{"@id":"seq:Enable#or2"},{"@id":"seq:Enable#outDamSwitch"},{"@id":"seq:Enable#retDamSwitch"},{"@id":"seq:Enable#sub1"},{"@id":"seq:Enable#sub2"},{"@id":"seq:Enable#truFalHol"}],"S231P:hasInput":[{"@id":"seq:Enable#hOut"},{"@id":"seq:Enable#hOutCut"},{"@id":"seq:Enable#TOut"},{"@id":"seq:Enable#TOutCut"},{"@id":"seq:Enable#u1SupFan"},{"@id":"seq:Enable#uFreProSta"},{"@id":"seq:Enable#uOutDam_max"},{"@id":"seq:Enable#uOutDam_min"},{"@id":"seq:Enable#uRetDam_max"},{"@id":"seq:Enable#uRetDam_min"},{"@id":"seq:Enable#uRetDamPhy_max"}],"S231P:hasOutput":[{"@id":"seq:Enable#yOutDam_max"},{"@id":"seq:Enable#yRetDam_max"},{"@id":"seq:Enable#yRetDam_min"}],"S231P:hasParameter":[{"@id":"seq:Enable#delEntHis"},{"@id":"seq:Enable#delTOutHis"},{"@id":"seq:Enable#disDel"},{"@id":"seq:Enable#hOutHigLimCutHig"},{"@id":"seq:Enable#hOutHigLimCutLow"},{"@id":"seq:Enable#retDamFulOpeTim"},{"@id":"seq:Enable#TOutHigLimCutHig"},{"@id":"seq:Enable#TOutHigLimCutLow"},{"@id":"seq:Enable#use_enthalpy"}]},{"@id":"seq:Enable#and1","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#and1#y","S231P:isConnectedTo":{"@id":"seq:Enable#andEnaDis#u1"}},{"@id":"seq:Enable#and2","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#and2#u1","S231P:isConnectedTo":{"@id":"seq:Enable#not2#y"}},{"@id":"seq:Enable#and2#y","S231P:isConnectedTo":[{"@id":"seq:Enable#maxRetDamSwitch#u2"},{"@id":"seq:Enable#minRetDamSwitch#u2"}]},{"@id":"seq:Enable#and3","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#and3#u2","S231P:isConnectedTo":{"@id":"seq:Enable#delOutDamOsc#y"}},{"@id":"seq:Enable#andEnaDis","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#andEnaDis#y","S231P:isConnectedTo":{"@id":"seq:Enable#not2#u"}},{"@id":"seq:Enable#conInt","@type":"seq:Buildings.Controls.OBC.CDL.Integers.Sources.Constant"},{"@id":"seq:Enable#conInt#y","S231P:isConnectedTo":{"@id":"seq:Enable#intEqu#u2"}},{"@id":"seq:Enable#delEntHis","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#delOutDamOsc","@type":"https://data.ashrae.org/S231P#CXF.Logical.TrueDelay"},{"@id":"seq:Enable#delOutDamOsc#u","S231P:isConnectedTo":{"@id":"seq:Enable#not2#y"}},{"@id":"seq:Enable#delRetDam","@type":"https://data.ashrae.org/S231P#CXF.Logical.TrueDelay"},{"@id":"seq:Enable#delRetDam#y","S231P:isConnectedTo":{"@id":"seq:Enable#not1#u"}},{"@id":"seq:Enable#delTOutHis","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#disDel","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#entSubst1","@type":"seq:Buildings.Controls.OBC.CDL.Logical.Sources.Constant"},{"@id":"seq:Enable#entSubst1#y","S231P:isConnectedTo":{"@id":"seq:Enable#or2#u2"}},{"@id":"seq:Enable#hOut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#sub2#u1"}},{"@id":"seq:Enable#hOutCut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#sub2#u2"}},{"@id":"seq:Enable#hOutHigLimCutHig","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#hOutHigLimCutLow","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#hysOutEnt","@type":"https://data.ashrae.org/S231P#CXF.Reals.Hysteresis"},{"@id":"seq:Enable#hysOutEnt#y","S231P:isConnectedTo":{"@id":"seq:Enable#or2#u2"}},{"@id":"seq:Enable#hysOutTem","@type":"https://data.ashrae.org/S231P#CXF.Reals.Hysteresis"},{"@id":"seq:Enable#hysOutTem#y","S231P:isConnectedTo":{"@id":"seq:Enable#or2#u1"}},{"@id":"seq:Enable#intEqu","@type":"https://data.ashrae.org/S231P#CXF.Integers.Equal"},{"@id":"seq:Enable#intEqu#y","S231P:isConnectedTo":{"@id":"seq:Enable#andEnaDis#u2"}},{"@id":"seq:Enable#maxRetDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#maxRetDamSwitch#y","S231P:isConnectedTo":{"@id":"seq:Enable#yRetDam_max"}},{"@id":"seq:Enable#minRetDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#minRetDamSwitch#y","S231P:isConnectedTo":{"@id":"seq:Enable#yRetDam_min"}},{"@id":"seq:Enable#not1","@type":"https://data.ashrae.org/S231P#CXF.Logical.Not"},{"@id":"seq:Enable#not1#y","S231P:isConnectedTo":{"@id":"seq:Enable#and2#u2"}},{"@id":"seq:Enable#not2","@type":"https://data.ashrae.org/S231P#CXF.Logical.Not"},{"@id":"seq:Enable#not2#y","S231P:isConnectedTo":[{"@id":"seq:Enable#and3#u1"},{"@id":"seq:Enable#delRetDam#u"},{"@id":"seq:Enable#retDamSwitch#u2"}]},{"@id":"seq:Enable#or2","@type":"https://data.ashrae.org/S231P#CXF.Logical.Or"},{"@id":"seq:Enable#or2#y","S231P:isConnectedTo":{"@id":"seq:Enable#truFalHol#u"}},{"@id":"seq:Enable#outDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#outDamSwitch#u2","S231P:isConnectedTo":{"@id":"seq:Enable#and3#y"}},{"@id":"seq:Enable#outDamSwitch#y","S231P:isConnectedTo":{"@id":"seq:Enable#yOutDam_max"}},{"@id":"seq:Enable#retDamFulOpeTim","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#retDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#retDamSwitch#y","S231P:isConnectedTo":{"@id":"seq:Enable#minRetDamSwitch#u3"}},{"@id":"seq:Enable#sub1","@type":"https://data.ashrae.org/S231P#CXF.Reals.Subtract"},{"@id":"seq:Enable#sub1#y","S231P:isConnectedTo":{"@id":"seq:Enable#hysOutTem#u"}},{"@id":"seq:Enable#sub2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Subtract"},{"@id":"seq:Enable#sub2#y","S231P:isConnectedTo":{"@id":"seq:Enable#hysOutEnt#u"}},{"@id":"seq:Enable#TOut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#sub1#u1"}},{"@id":"seq:Enable#TOutCut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#sub1#u2"}},{"@id":"seq:Enable#TOutHigLimCutHig","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#TOutHigLimCutLow","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#truFalHol","@type":"https://data.ashrae.org/S231P#CXF.Logical.TrueFalseHold"},{"@id":"seq:Enable#truFalHol#y","S231P:isConnectedTo":{"@id":"seq:Enable#and1#u1"}},{"@id":"seq:Enable#u1SupFan","@type":"S231P:BooleanInput","S231P:isConnectedTo":{"@id":"seq:Enable#and1#u2"}},{"@id":"seq:Enable#uFreProSta","@type":"S231P:IntegerInput","S231P:isConnectedTo":{"@id":"seq:Enable#intEqu#u1"}},{"@id":"seq:Enable#uOutDam_max","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#outDamSwitch#u3"}},{"@id":"seq:Enable#uOutDam_min","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#outDamSwitch#u1"}},{"@id":"seq:Enable#uRetDam_max","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:Enable#maxRetDamSwitch#u3"},{"@id":"seq:Enable#retDamSwitch#u1"}]},{"@id":"seq:Enable#uRetDam_min","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#retDamSwitch#u3"}},{"@id":"seq:Enable#uRetDamPhy_max","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:Enable#maxRetDamSwitch#u1"},{"@id":"seq:Enable#minRetDamSwitch#u1"}]},{"@id":"seq:Enable#use_enthalpy","S231P:isOfDataType":{"@id":"S231P:Boolean"}},{"@id":"seq:Enable#yOutDam_max","@type":"S231P:RealOutput"},{"@id":"seq:Enable#yRetDam_max","@type":"S231P:RealOutput"},{"@id":"seq:Enable#yRetDam_min","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld b/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld index d27a4145..6424fb07 100644 --- a/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld +++ b/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld @@ -1 +1 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MisplacedInfoWithEquation","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:MisplacedInfoWithEquation#gain"},"S231P:hasInput":{"@id":"seq:MisplacedInfoWithEquation#u"},"S231P:hasOutput":[{"@id":"seq:MisplacedInfoWithEquation#y1"},{"@id":"seq:MisplacedInfoWithEquation#y2"}],"S231P:hasParameter":{"@id":"seq:MisplacedInfoWithEquation#k"}},{"@id":"seq:MisplacedInfoWithEquation#gain","@type":"https://data.ashrae.org/S231P#CXF.Reals.MultiplyByParameter"},{"@id":"seq:MisplacedInfoWithEquation#k","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:MisplacedInfoWithEquation#u","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:MisplacedInfoWithEquation#gain#u"}},{"@id":"seq:MisplacedInfoWithEquation#y1","@type":"S231P:RealOutput"},{"@id":"seq:MisplacedInfoWithEquation#y2","@type":"S231P:RealOutput"},{"@id":"seq:seq:MisplacedInfoWithEquation#gain#y","S231P:isConnectedTo":{"@id":"seq:MisplacedInfoWithEquation#y1"}}]} \ No newline at end of file +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MisplacedInfoWithEquation","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:MisplacedInfoWithEquation#gain"},"S231P:hasInput":{"@id":"seq:MisplacedInfoWithEquation#u"},"S231P:hasOutput":[{"@id":"seq:MisplacedInfoWithEquation#y1"},{"@id":"seq:MisplacedInfoWithEquation#y2"}],"S231P:hasParameter":{"@id":"seq:MisplacedInfoWithEquation#k"}},{"@id":"seq:MisplacedInfoWithEquation#gain","@type":"https://data.ashrae.org/S231P#CXF.Reals.MultiplyByParameter"},{"@id":"seq:MisplacedInfoWithEquation#gain#y","S231P:isConnectedTo":{"@id":"seq:MisplacedInfoWithEquation#y1"}},{"@id":"seq:MisplacedInfoWithEquation#k","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:MisplacedInfoWithEquation#u","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:MisplacedInfoWithEquation#gain#u"}},{"@id":"seq:MisplacedInfoWithEquation#y1","@type":"S231P:RealOutput"},{"@id":"seq:MisplacedInfoWithEquation#y2","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MyController.jsonld b/test/reference/cxf/test/FromModelica/MyController.jsonld index 76570e8b..2afa15fa 100644 --- a/test/reference/cxf/test/FromModelica/MyController.jsonld +++ b/test/reference/cxf/test/FromModelica/MyController.jsonld @@ -1 +1 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MyController","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:MyController#add2"},{"@id":"seq:MyController#subCon1"},{"@id":"seq:MyController#subCon2"}],"S231P:hasInput":[{"@id":"seq:MyController#u1"},{"@id":"seq:MyController#u2"}],"S231P:hasOutput":{"@id":"seq:MyController#y"}},{"@id":"seq:MyController#add2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Add"},{"@id":"seq:MyController#subCon1","@type":"seq:SubController"},{"@id":"seq:MyController#subCon2","@type":"seq:SubController"},{"@id":"seq:MyController#u1","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:MyController#add2#u1"}},{"@id":"seq:MyController#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:seq:MyController#add2#u2"},{"@id":"seq:seq:MyController#subCon1#u"},{"@id":"seq:seq:MyController#subCon2#u"}]},{"@id":"seq:MyController#y","@type":"S231P:RealOutput"},{"@id":"seq:seq:MyController#add2#y","S231P:isConnectedTo":{"@id":"seq:MyController#y"}}]} \ No newline at end of file +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MyController","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:MyController#add2"},{"@id":"seq:MyController#subCon1"},{"@id":"seq:MyController#subCon2"}],"S231P:hasInput":[{"@id":"seq:MyController#u1"},{"@id":"seq:MyController#u2"}],"S231P:hasOutput":{"@id":"seq:MyController#y"}},{"@id":"seq:MyController#add2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Add"},{"@id":"seq:MyController#add2#y","S231P:isConnectedTo":{"@id":"seq:MyController#y"}},{"@id":"seq:MyController#subCon1","@type":"seq:SubController"},{"@id":"seq:MyController#subCon2","@type":"seq:SubController"},{"@id":"seq:MyController#u1","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:MyController#add2#u1"}},{"@id":"seq:MyController#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:MyController#add2#u2"},{"@id":"seq:MyController#subCon1#u"},{"@id":"seq:MyController#subCon2#u"}]},{"@id":"seq:MyController#y","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld b/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld index ff26fb0e..ab3a05da 100644 --- a/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld +++ b/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld @@ -1 +1 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MyControllerWithSemantics","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:MyControllerWithSemantics#add2"},{"@id":"seq:MyControllerWithSemantics#heaCoi"},{"@id":"seq:MyControllerWithSemantics#subCon2"}],"S231P:hasInput":[{"@id":"seq:MyControllerWithSemantics#u1"},{"@id":"seq:MyControllerWithSemantics#u2"}],"S231P:hasOutput":{"@id":"seq:MyControllerWithSemantics#y"}},{"@id":"seq:MyControllerWithSemantics#add2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Add"},{"@id":"seq:MyControllerWithSemantics#heaCoi","@type":"seq:SubController"},{"@id":"seq:MyControllerWithSemantics#subCon2","@type":"seq:SubControllerWithSemantics"},{"@id":"seq:MyControllerWithSemantics#u1","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:seq:MyControllerWithSemantics#add2#u1"}},{"@id":"seq:MyControllerWithSemantics#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:seq:MyControllerWithSemantics#add2#u2"},{"@id":"seq:seq:MyControllerWithSemantics#heaCoi#u"},{"@id":"seq:seq:MyControllerWithSemantics#subCon2#u"}]},{"@id":"seq:MyControllerWithSemantics#y","@type":"S231P:RealOutput"},{"@id":"seq:seq:MyControllerWithSemantics#add2#y","S231P:isConnectedTo":{"@id":"seq:MyControllerWithSemantics#y"}}]} \ No newline at end of file +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MyControllerWithSemantics","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:MyControllerWithSemantics#add2"},{"@id":"seq:MyControllerWithSemantics#heaCoi"},{"@id":"seq:MyControllerWithSemantics#subCon2"}],"S231P:hasInput":[{"@id":"seq:MyControllerWithSemantics#u1"},{"@id":"seq:MyControllerWithSemantics#u2"}],"S231P:hasOutput":{"@id":"seq:MyControllerWithSemantics#y"}},{"@id":"seq:MyControllerWithSemantics#add2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Add"},{"@id":"seq:MyControllerWithSemantics#add2#y","S231P:isConnectedTo":{"@id":"seq:MyControllerWithSemantics#y"}},{"@id":"seq:MyControllerWithSemantics#heaCoi","@type":"seq:SubController"},{"@id":"seq:MyControllerWithSemantics#subCon2","@type":"seq:SubControllerWithSemantics"},{"@id":"seq:MyControllerWithSemantics#u1","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:MyControllerWithSemantics#add2#u1"}},{"@id":"seq:MyControllerWithSemantics#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:MyControllerWithSemantics#add2#u2"},{"@id":"seq:MyControllerWithSemantics#heaCoi#u"},{"@id":"seq:MyControllerWithSemantics#subCon2#u"}]},{"@id":"seq:MyControllerWithSemantics#y","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/PointList.jsonld b/test/reference/cxf/test/FromModelica/PointList.jsonld index 08732dd1..a2c9fa07 100644 --- a/test/reference/cxf/test/FromModelica/PointList.jsonld +++ b/test/reference/cxf/test/FromModelica/PointList.jsonld @@ -1 +1 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:PointList","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:PointList#con1"},{"@id":"seq:PointList#con2"}],"S231P:hasInput":[{"@id":"seq:PointList#u1"},{"@id":"seq:PointList#u2"}],"S231P:hasOutput":[{"@id":"seq:PointList#y1"},{"@id":"seq:PointList#y2"}]},{"@id":"seq:PointList#con1","@type":"seq:MyController"},{"@id":"seq:PointList#con2","@type":"seq:MyController"},{"@id":"seq:PointList#u1","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:seq:PointList#con1#u1"},{"@id":"seq:seq:PointList#con2#u1"}]},{"@id":"seq:PointList#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:seq:PointList#con1#u2"},{"@id":"seq:seq:PointList#con2#u2"}]},{"@id":"seq:PointList#y1","@type":"S231P:RealOutput"},{"@id":"seq:PointList#y2","@type":"S231P:RealOutput"},{"@id":"seq:seq:PointList#con1#y","S231P:isConnectedTo":{"@id":"seq:PointList#y2"}},{"@id":"seq:seq:PointList#con2#y","S231P:isConnectedTo":{"@id":"seq:PointList#y1"}}]} \ No newline at end of file +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:PointList","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:PointList#con1"},{"@id":"seq:PointList#con2"}],"S231P:hasInput":[{"@id":"seq:PointList#u1"},{"@id":"seq:PointList#u2"}],"S231P:hasOutput":[{"@id":"seq:PointList#y1"},{"@id":"seq:PointList#y2"}]},{"@id":"seq:PointList#con1","@type":"seq:MyController"},{"@id":"seq:PointList#con1#y","S231P:isConnectedTo":{"@id":"seq:PointList#y2"}},{"@id":"seq:PointList#con2","@type":"seq:MyController"},{"@id":"seq:PointList#con2#y","S231P:isConnectedTo":{"@id":"seq:PointList#y1"}},{"@id":"seq:PointList#u1","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:PointList#con1#u1"},{"@id":"seq:PointList#con2#u1"}]},{"@id":"seq:PointList#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:PointList#con1#u2"},{"@id":"seq:PointList#con2#u2"}]},{"@id":"seq:PointList#y1","@type":"S231P:RealOutput"},{"@id":"seq:PointList#y2","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld index 979e36b6..b57b8fbd 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld @@ -1 +1 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:seq:TestEvaluation_2#hys#u","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_2#u"}},{"@id":"seq:seq:TestEvaluation_2#hys#y","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_2#y"}},{"@id":"seq:TestEvaluation_2","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:TestEvaluation_2#hys"},"S231P:hasInput":{"@id":"seq:TestEvaluation_2#u"},"S231P:hasOutput":{"@id":"seq:TestEvaluation_2#y"},"S231P:hasParameter":[{"@id":"seq:TestEvaluation_2#uHigh"},{"@id":"seq:TestEvaluation_2#uLow"}]},{"@id":"seq:TestEvaluation_2#hys","@type":"https://data.ashrae.org/S231P#CXF.Reals.Hysteresis"},{"@id":"seq:TestEvaluation_2#u","@type":"S231P:RealInput"},{"@id":"seq:TestEvaluation_2#uHigh","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_2#uLow","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_2#y","@type":"S231P:BooleanOutput"}]} \ No newline at end of file +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:TestEvaluation_2","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:TestEvaluation_2#hys"},"S231P:hasInput":{"@id":"seq:TestEvaluation_2#u"},"S231P:hasOutput":{"@id":"seq:TestEvaluation_2#y"},"S231P:hasParameter":[{"@id":"seq:TestEvaluation_2#uHigh"},{"@id":"seq:TestEvaluation_2#uLow"}]},{"@id":"seq:TestEvaluation_2#hys","@type":"https://data.ashrae.org/S231P#CXF.Reals.Hysteresis"},{"@id":"seq:TestEvaluation_2#hys#u","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_2#u"}},{"@id":"seq:TestEvaluation_2#hys#y","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_2#y"}},{"@id":"seq:TestEvaluation_2#u","@type":"S231P:RealInput"},{"@id":"seq:TestEvaluation_2#uHigh","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_2#uLow","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_2#y","@type":"S231P:BooleanOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld index b2b4a947..6e595067 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld @@ -1 +1 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:seq:TestEvaluation_4#cooCoi#TAirSup","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#TAirSup"}},{"@id":"seq:seq:TestEvaluation_4#cooCoi#TSupCooSet","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#TSupCooSet"}},{"@id":"seq:seq:TestEvaluation_4#cooCoi#u1SupFan","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#u1SupFan"}},{"@id":"seq:seq:TestEvaluation_4#cooCoi#uZonSta","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#uZonSta"}},{"@id":"seq:seq:TestEvaluation_4#cooCoi#yCooCoi","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#yCooCoi"}},{"@id":"seq:TestEvaluation_4","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:TestEvaluation_4#cooCoi"},"S231P:hasInput":[{"@id":"seq:TestEvaluation_4#TAirSup"},{"@id":"seq:TestEvaluation_4#TSupCooSet"},{"@id":"seq:TestEvaluation_4#u1SupFan"},{"@id":"seq:TestEvaluation_4#uZonSta"}],"S231P:hasOutput":{"@id":"seq:TestEvaluation_4#yCooCoi"},"S231P:hasParameter":[{"@id":"seq:TestEvaluation_4#controllerTypeCooCoi"},{"@id":"seq:TestEvaluation_4#kCooCoi"},{"@id":"seq:TestEvaluation_4#TiCooCoi"}]},{"@id":"seq:TestEvaluation_4#cooCoi","@type":"seq:Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.CoolingCoil"},{"@id":"seq:TestEvaluation_4#kCooCoi","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_4#TAirSup","@type":"S231P:RealInput"},{"@id":"seq:TestEvaluation_4#TiCooCoi","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_4#TSupCooSet","@type":"S231P:RealInput"},{"@id":"seq:TestEvaluation_4#u1SupFan","@type":"S231P:BooleanInput"},{"@id":"seq:TestEvaluation_4#uZonSta","@type":"S231P:IntegerInput"},{"@id":"seq:TestEvaluation_4#yCooCoi","@type":"S231P:RealOutput"}]} \ No newline at end of file +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:TestEvaluation_4","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:TestEvaluation_4#cooCoi"},"S231P:hasInput":[{"@id":"seq:TestEvaluation_4#TAirSup"},{"@id":"seq:TestEvaluation_4#TSupCooSet"},{"@id":"seq:TestEvaluation_4#u1SupFan"},{"@id":"seq:TestEvaluation_4#uZonSta"}],"S231P:hasOutput":{"@id":"seq:TestEvaluation_4#yCooCoi"},"S231P:hasParameter":[{"@id":"seq:TestEvaluation_4#controllerTypeCooCoi"},{"@id":"seq:TestEvaluation_4#kCooCoi"},{"@id":"seq:TestEvaluation_4#TiCooCoi"}]},{"@id":"seq:TestEvaluation_4#cooCoi","@type":"seq:Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.CoolingCoil"},{"@id":"seq:TestEvaluation_4#cooCoi#TAirSup","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#TAirSup"}},{"@id":"seq:TestEvaluation_4#cooCoi#TSupCooSet","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#TSupCooSet"}},{"@id":"seq:TestEvaluation_4#cooCoi#u1SupFan","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#u1SupFan"}},{"@id":"seq:TestEvaluation_4#cooCoi#uZonSta","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#uZonSta"}},{"@id":"seq:TestEvaluation_4#cooCoi#yCooCoi","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#yCooCoi"}},{"@id":"seq:TestEvaluation_4#kCooCoi","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_4#TAirSup","@type":"S231P:RealInput"},{"@id":"seq:TestEvaluation_4#TiCooCoi","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_4#TSupCooSet","@type":"S231P:RealInput"},{"@id":"seq:TestEvaluation_4#u1SupFan","@type":"S231P:BooleanInput"},{"@id":"seq:TestEvaluation_4#uZonSta","@type":"S231P:IntegerInput"},{"@id":"seq:TestEvaluation_4#yCooCoi","@type":"S231P:RealOutput"}]} \ No newline at end of file From eff64ae4b672465c379962fc86fd0be60d065646 Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Tue, 19 Dec 2023 11:54:06 -0800 Subject: [PATCH 10/25] extract cdl annotations and adding s231 class turtle --- lib/objectExtractor.js | 53 +- lib/s231ClassesProperties.ttl | 638 ++++++++++++++++++ .../MyControllerWithExportAnnotation1.mo | 58 ++ .../FromModelica/CustomPWithLimiter.jsonld | 2 +- .../cxf/test/FromModelica/Enable.jsonld | 2 +- .../MisplacedInfoWithEquation.jsonld | 2 +- .../cxf/test/FromModelica/MyController.jsonld | 2 +- .../MyControllerWithExportAnnotation1.jsonld | 1 + .../MyControllerWithSemantics.jsonld | 2 +- .../cxf/test/FromModelica/PointList.jsonld | 2 +- .../test/FromModelica/TestEvaluation_2.jsonld | 2 +- .../test/FromModelica/TestEvaluation_4.jsonld | 2 +- .../MyControllerWithExportAnnotation1.json | 1 + .../test/FromModelica/BlockInputOutput.json | 2 +- .../test/FromModelica/BlockWithBlock1.json | 2 +- .../test/FromModelica/ConditionalBlock.json | 2 +- .../test/FromModelica/CustomPWithLimiter.json | 2 +- .../test/FromModelica/DynamicTextColor.json | 2 +- .../objects/test/FromModelica/Enable.json | 2 +- .../test/FromModelica/ExtendsClause_1.json | 2 +- .../test/FromModelica/ExtendsClause_2.json | 2 +- .../test/FromModelica/ExtendsClause_3.json | 2 +- .../MisplacedInfoWithComponent.json | 2 +- .../MisplacedInfoWithEquation.json | 2 +- .../MisplacedInfoWithParameter.json | 2 +- .../test/FromModelica/MyController.json | 2 +- .../MyControllerWithExportAnnotation1.json | 1 + .../MyControllerWithSemantics.json | 2 +- .../test/FromModelica/NoClassComment.json | 2 +- .../objects/test/FromModelica/NoWithin.json | 2 +- .../objects/test/FromModelica/Parameter1.json | 2 +- .../Parameter1WithVendorAnnotation.json | 2 +- .../objects/test/FromModelica/Parameter2.json | 2 +- .../objects/test/FromModelica/Parameter3.json | 2 +- .../FromModelica/ParameterWithAttributes.json | 2 +- .../ParameterWithDefaultName.json | 2 +- .../test/FromModelica/ParameterWithInfo.json | 2 +- .../ParameterWithVendorAnnotationInInfo.json | 2 +- .../objects/test/FromModelica/PointList.json | 2 +- .../test/FromModelica/RemovableInputs.json | 2 +- .../test/FromModelica/SubController.json | 2 +- .../SubControllerWithSemantics.json | 2 +- .../test/FromModelica/TestEvaluation_1.json | 2 +- .../test/FromModelica/TestEvaluation_2.json | 2 +- .../test/FromModelica/TestEvaluation_3.json | 2 +- .../test/FromModelica/TestEvaluation_4.json | 2 +- .../FromModelica/VariableModification.json | 2 +- .../test/FromModelica/WithCDLElementary.json | 2 +- .../objects/test/FromModelica/package.json | 2 +- .../MyControllerWithExportAnnotation1.json | 1 + 50 files changed, 795 insertions(+), 44 deletions(-) create mode 100644 lib/s231ClassesProperties.ttl create mode 100644 test/FromModelica/MyControllerWithExportAnnotation1.mo create mode 100644 test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld create mode 100644 test/reference/json/test/FromModelica/MyControllerWithExportAnnotation1.json create mode 100644 test/reference/objects/test/FromModelica/MyControllerWithExportAnnotation1.json create mode 100644 test/reference/raw-json/test/FromModelica/MyControllerWithExportAnnotation1.json diff --git a/lib/objectExtractor.js b/lib/objectExtractor.js index da7356a2..2fad4972 100644 --- a/lib/objectExtractor.js +++ b/lib/objectExtractor.js @@ -185,6 +185,7 @@ function extractFromLongClassSpecifier (longClassSpecifier, fullMoFilePath, with if ('annotation' in composition && composition.annotation !== undefined) { dictIdentifier.annotation = composition.annotation dictIdentifier.semantics = extractSemanticsFromAnnotations(composition.annotation, identifier) + dictIdentifier.cdl_annotations = extractCdlAnnotations(composition.annotation) } } if (identifier !== null) { @@ -298,6 +299,7 @@ function extractFromElementList (elementList, longClassSpecifierIdentifier, full identifier2 = classSpecifier.long_class_specifier.identifier dict.annotation = classSpecifier.long_class_specifier.composition.annotation dict.semantics = extractSemanticsFromAnnotations(dict.annotation, identifier2) + dictIdentifier.cdl_annotations = extractCdlAnnotations(dict.annotation) classDefinitionInstance[identifier2] = dict } else if ('short_class_specifier' in classSpecifier) { @@ -339,6 +341,7 @@ function extractFromElementList (elementList, longClassSpecifierIdentifier, full single_component_list: singleComponentList, annotation, semantics: extractSemanticsFromAnnotations(annotation, identifier), + cdl_annotations: extractCdlAnnotations(annotation), within, fullMoFilePath } @@ -404,6 +407,54 @@ function parseArraySubscripts (arraySubscripts) { return '[' + arraySubscripts[0].expression.simple_expression + ']' } +function parseModifications(modifications) { + var outputDict = {} + if (Object.keys(modifications).length > 0) { + Object.keys(modifications).forEach(modificationKey => { + const classModifications = modifications[modificationKey] + if (classModifications.length > 0) { + classModifications.forEach(classModification => { + const eleMod = classModification.element_modification_or_replaceable.element_modification + const eleKey = eleMod.name + const eleDict = {} + const mod = eleMod.modification + if (mod.expression !== undefined) { + eleDict[eleKey] = mod.expression.simple_expression + } else { + eleDict[eleKey] = parseModifications(mod) + } + if (eleKey !== 'propagate') { + outputDict = Object.assign({}, outputDict, eleDict) + } else { + if (outputDict.propagate === undefined) { + outputDict['propagate'] = [eleDict[eleKey]] + } else { + const existingPropagateList = outputDict.propagate + existingPropagateList.push(eleDict[eleKey]) + outputDict['propagate'] = existingPropagateList + } + } + }) + } + }) + } + return outputDict +} + +function extractCdlAnnotations(annotation) { + var cdlAnnotations = {} + if (annotation !== null && annotation !== undefined) { + annotation.forEach(singleAnnotation => { + const annotationName = singleAnnotation.element_modification_or_replaceable.element_modification.name + if (annotationName === '__cdl' || annotationName === '__Buildings') { + const modifications = singleAnnotation.element_modification_or_replaceable.element_modification.modification + cdlAnnotations = parseModifications(modifications) + } + }) + } + return cdlAnnotations +} + function extractSemanticsFromAnnotations (annotation, instanceIdentifier) { const semantics = {} if (annotation !== null && annotation !== undefined) { @@ -568,7 +619,7 @@ function getInstanceNode (element, cxfPrefix, newInstances) { const instance = element.split('.').slice(0, 1)[0] const instanceNode = newInstances[instance].cxfNode const className = instanceNode.value.split('#')[0].split(':').slice(-1)[0] - node = cxfPrefix(`${className}#${element.replace('.', '#')}`) + node = cxfPrefix(`${className}#${element}`) } else { node = newInstances[element].cxfNode } diff --git a/lib/s231ClassesProperties.ttl b/lib/s231ClassesProperties.ttl new file mode 100644 index 00000000..2f0b39a5 --- /dev/null +++ b/lib/s231ClassesProperties.ttl @@ -0,0 +1,638 @@ +@prefix S231P: . +@prefix rdf: . +@prefix rdfs: . +@prefix sh: . +@prefix xsd: . +@prefix qudt: . + +S231P:Block + a rdfs:Class ; + rdfs:comment "A block is the abstract interface of a control sequence" ; + rdfs:label "Block" ; +. +S231P:ElementaryBlock + a rdfs:Class ; + rdfs:subClassOf S231P:Block ; + rdfs:comment "An elementary block defined by ASHRAE S231P" ; + rdfs:label "ElementaryBlock" ; +. +S231P:CompositeBlock + a rdfs:Class ; + rdfs:subClassOf S231P:Block ; + rdfs:comment "A composite block is a function implemented as a collection of elementary blocks or other composite blocks" ; + rdfs:label "CompositeBlock" ; +. +S231P:ExtensionBlock + a rdfs:Class ; + rdfs:subClassOf S231P:Block ; + rdfs:comment """An extension block supports functionalities that cannot, or are hard to, implement with a composite block. + They allow, for example, implementation of blocks that contain statistical functions, fault detection and diagnostics methods, as well as proprietary code. + They are intended to define new elementary blocks beyond those defined in this standard""" ; + rdfs:label "ExtensionBlock" ; +. +S231P:Connector + a rdfs:Class ; + a sh:NodeShape ; + rdfs:comment """The Connector class is used by blocks to expose their inputs and outputs""" ; + rdfs:label "Connector" ; + sh:property [ + sh:path S231P:isOfDataType ; + sh:class S231P:DataType ; + sh:message "This Connector must be associated with exactly 1 Datatype." ; + sh:maxCount 1 ; + ] ; +. +S231P:InputConnector + a rdfs:Class ; + a sh:NodeShape ; + rdfs:comment """An input connector is a connector that provides an input to a block"""; + rdfs:label "InputConnector" ; + rdfs:subClassOf S231P:Connector ; + sh:property [ + sh:path [ sh:inversePath S231P:hasInput ]; + sh:class S231P:Block ; + sh:message "This InputConnector must be associated with exactly 1 Block" ; + sh:minCount 1 ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path S231P:description ; + rdfs:comment "Description for an input connector" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:accessSpecifier ; + rdfs:comment "Access specifier for the input connector in CDL (public/protected). Default: public" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:graphics ; + rdfs:comment "The path to the graphical representation of the input connector" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:name ; + rdfs:comment "The name assigned to the input connector" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:label ; + rdfs:comment "The label assigned to the input connector" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:value ; + rdfs:comment "A decimal value associated with the input connector" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:start ; + rdfs:comment "The starting decimal value associated with the input connector" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:nominal ; + rdfs:comment "The nominal decimal value associated with the input connector" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:quantity ; + rdfs:comment "The QuantityKind associated with the input connector" ; + sh:class qudt:QuantityKind ; + ] ; + sh:property [ + sh:path S231P:fixed ; + rdfs:comment "A boolean to indicate whether this is a fixed input or not" ; + sh:datatype xsd:boolean ; + ] ; + sh:property [ + sh:path S231P:instantiate ; + rdfs:comment "A boolean to indicate whether this input is instantiated or not" ; + sh:datatype xsd:boolean ; + ] ; + sh:property [ + sh:path S231P:min ; + rdfs:comment "The minimum allowable value for the input connector" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:max ; + rdfs:comment "The maximum allowable value for the input connector" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:unit ; + rdfs:comment "The unit of the input connector used for controls and calculations" ; + sh:class qudt:Unit ; + ] ; + sh:property [ + sh:path S231P:displayUnit ; + rdfs:comment "The unit of the input connector used for display and graphics" ; + sh:class qudt:Unit ; + ] ; + sh:property [ + sh:path S231P:cdlLineNumStart ; + rdfs:comment "An integer value indicating the starting line number for the input connector definition in the CDL sequence" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:cdlLineNumEnd ; + rdfs:comment "An integer value indicating the ending line number for the input connector definition in the CDL sequence" ; + sh:datatype xsd:decimal ; + ] ; +. +S231P:OutputConnector + a rdfs:Class ; + a sh:NodeShape ; + rdfs:comment """An output connector is a connector that provides an output from a block"""; + rdfs:label "OutputConnector" ; + rdfs:subClassOf S231P:Connector ; + sh:property [ + sh:path [ sh:inversePath S231P:hasOutput ]; + sh:class S231P:Block ; + sh:message "This OutputConnector must be associated with exactly 1 Block" ; + sh:minCount 1 ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path S231P:description ; + rdfs:comment "Description for an output connector" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:accessSpecifier ; + rdfs:comment "Access specifier for the output connector in CDL (public/protected). Default: public" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:graphics ; + rdfs:comment "The path to the graphical representation of the output connector" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:name ; + rdfs:comment "The name assigned to the output connector" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:label ; + rdfs:comment "The label assigned to the output connector" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:value ; + rdfs:comment "A decimal value associated with the output connector" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:start ; + rdfs:comment "The starting decimal value associated with the output connector" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:nominal ; + rdfs:comment "The nominal decimal value associated with the output connector" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:quantity ; + rdfs:comment "The QuantityKind associated with the output connector" ; + sh:class qudt:QuantityKind ; + ] ; + sh:property [ + sh:path S231P:fixed ; + rdfs:comment "A boolean to indicate whether this is a fixed output or not" ; + sh:datatype xsd:boolean ; + ] ; + sh:property [ + sh:path S231P:instantiate ; + rdfs:comment "A boolean to indicate whether this output is instantiated or not" ; + sh:datatype xsd:boolean ; + ] ; + sh:property [ + sh:path S231P:min ; + rdfs:comment "The minimum allowable value for the output connector" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:max ; + rdfs:comment "The maximum allowable value for the output connector" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:unit ; + rdfs:comment "The unit of the output connector used for controls and calculations" ; + sh:class qudt:Unit ; + ] ; + sh:property [ + sh:path S231P:displayUnit ; + rdfs:comment "The unit of the output connector used for display and graphics" ; + sh:class qudt:Unit ; + ] ; + sh:property [ + sh:path S231P:cdlLineNumStart ; + rdfs:comment "An integer value indicating the starting line number for the output connector definition in the CDL sequence" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:cdlLineNumEnd ; + rdfs:comment "An integer value indicating the ending line number for the output connector definition in the CDL sequence" ; + sh:datatype xsd:decimal ; + ] ; +. +S231P:Parameter + a rdfs:Class ; + rdfs:comment """A parameter is a value that is time-invariant and cannot be changed based on an input signal. A block can have multiple parameters.""" ; + rdfs:label "Parameter" ; + a sh:NodeShape ; + sh:targetClass S231P:Parameter ; + sh:property [ + sh:path S231P:isOfDataType ; + sh:class S231P:DataType ; + sh:maxCount 1 ; + sh:message "This Parameter must be associated with exactly 1 Datatype" ; + sh:severity sh:Info ; + ] ; + sh:property [ + sh:path [ sh:inversePath S231P:hasParameter ]; + sh:class S231P:Block ; + sh:message "This Parameter must be associated with exactly 1 Block" ; + sh:minCount 1 ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path S231P:description ; + rdfs:comment "Description for an parameter" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:accessSpecifier ; + rdfs:comment "Access specifier for the parameter in CDL (public/protected). Default: public" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:graphics ; + rdfs:comment "The path to the graphical representation of the parameter" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:name ; + rdfs:comment "The name assigned to the parameter" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:label ; + rdfs:comment "The label assigned to the parameter" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:value ; + rdfs:comment "A decimal value associated with the parameter" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:start ; + rdfs:comment "The starting decimal value associated with the parameter" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:nominal ; + rdfs:comment "The nominal decimal value associated with the parameter" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:quantity ; + rdfs:comment "The QuantityKind associated with the parameter" ; + sh:class qudt:QuantityKind ; + ] ; + sh:property [ + sh:path S231P:fixed ; + rdfs:comment "A boolean to indicate whether this is a fixed value parameter or not" ; + sh:datatype xsd:boolean ; + ] ; + sh:property [ + sh:path S231P:instantiate ; + rdfs:comment "A boolean to indicate whether this parameter is instantiated or not" ; + sh:datatype xsd:boolean ; + ] ; + sh:property [ + sh:path S231P:min ; + rdfs:comment "The minimum allowable value for the parameter" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:max ; + rdfs:comment "The maximum allowable value for the parameter" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:unit ; + rdfs:comment "The unit of the parameter used for controls and calculations" ; + sh:class qudt:Unit ; + ] ; + sh:property [ + sh:path S231P:displayUnit ; + rdfs:comment "The unit of the parameter used for display and graphics" ; + sh:class qudt:Unit ; + ] ; + sh:property [ + sh:path S231P:cdlLineNumStart ; + rdfs:comment "An integer value indicating the starting line number for the parameter definition in the CDL sequence" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:cdlLineNumEnd ; + rdfs:comment "An integer value indicating the ending line number for the parameter definition in the CDL sequence" ; + sh:datatype xsd:decimal ; + ] ; +. +S231P:Constant + a rdfs:Class ; + rdfs:comment """A constant is a value that is fixed at compilation time. A block can have multiple constants""" ; + rdfs:label "Constant" ; + sh:property [ + sh:path S231P:isOfDataType ; + sh:class S231P:DataType ; + sh:maxCount 1 ; + sh:message "This Constant must be associated with exactly 1 Datatype" ; + sh:severity sh:Info ; + ] ; + sh:property [ + sh:path [ sh:inversePath S231P:hasConstant ]; + sh:class S231P:Block ; + sh:message "This Constant must be associated with exactly 1 Block" ; + sh:minCount 1 ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path S231P:description ; + rdfs:comment "Description for an constant" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:accessSpecifier ; + rdfs:comment "Access specifier for the constant in CDL (public/protected). Default: public" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:graphics ; + rdfs:comment "The path to the graphical representation of the constant" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:name ; + rdfs:comment "The name assigned to the constant" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:label ; + rdfs:comment "The label assigned to the constant" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path S231P:value ; + rdfs:comment "A decimal value associated with the constant" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:start ; + rdfs:comment "The starting decimal value associated with the constant" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:nominal ; + rdfs:comment "The nominal decimal value associated with the constant" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:quantity ; + rdfs:comment "The QuantityKind associated with the constant" ; + sh:class qudt:QuantityKind ; + ] ; + sh:property [ + sh:path S231P:fixed ; + rdfs:comment "A boolean to indicate whether this is a fixed value constant or not" ; + sh:datatype xsd:boolean ; + ] ; + sh:property [ + sh:path S231P:instantiate ; + rdfs:comment "A boolean to indicate whether this constant is instantiated or not" ; + sh:datatype xsd:boolean ; + ] ; + sh:property [ + sh:path S231P:min ; + rdfs:comment "The minimum allowable value for the constant" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:max ; + rdfs:comment "The maximum allowable value for the constant" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:unit ; + rdfs:comment "The unit of the constant used for controls and calculations" ; + sh:class qudt:Unit ; + ] ; + sh:property [ + sh:path S231P:displayUnit ; + rdfs:comment "The unit of the constant used for display and graphics" ; + sh:class qudt:Unit ; + ] ; + sh:property [ + sh:path S231P:cdlLineNumStart ; + rdfs:comment "An integer value indicating the starting line number for the constant definition in the CDL sequence" ; + sh:datatype xsd:decimal ; + ] ; + sh:property [ + sh:path S231P:cdlLineNumEnd ; + rdfs:comment "An integer value indicating the ending line number for the constant definition in the CDL sequence" ; + sh:datatype xsd:decimal ; + ] ; +. +S231P:DataType + a rdfs:Class ; + rdfs:comment """A data type description for function block connectors, parameters, and constants""" ; + rdfs:label "DataType" ; +. +S231P:Boolean a S231P:BooleanDataType, + S231P:DataType +. +S231P:Real a S231P:Datatype, + S231P:RealDatatype +. +S231P:Integer a S231P:DataType, + S231P:IntegerDataType +. +S231P:Analog a S231P:AnalogDataType, + S231P:DataType +. +S231P:String a S231P:Datatype, + S231P:StringDatatype ; + rdfs:comment "A data type to represent text"; +. +S231P:BooleanDataType a rdfs:Class ; + rdfs:subClassOf S231P:DataType +. +S231P:RealDatatype a rdfs:Class ; + rdfs:subClassOf S231P:Datatype +. +S231P:IntegerDataType a rdfs:Class ; + rdfs:subClassOf S231P:DataType +. +S231P:AnalogDataType a rdfs:Class ; + rdfs:subClassOf S231P:DataType +. +S231P:StringDatatype a rdfs:Class ; + rdfs:subClassOf S231P:Datatype +. +S231P:EnumerationType a S231P:Datatype, + S231P:EnumerationDatatype +. +S231P:EnumerationDatatype a rdfs:Class ; + rdfs:subClassOf S231P:Datatype +. +S231P:AnalogInput a rdfs:Class ; + rdfs:comment "An input connector for real data type"; + rdfs:subClassOf S231P:InputConnector ; + a sh:NodeShape ; + sh:targetClass S231P:AnalogInput ; + sh:property [ + sh:class S231P:AnalogDataType ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:path S231P:isOfDataType + ] ; +. +S231P:AnalogOutput a rdfs:Class ; + rdfs:comment "An output connector for analog data type"; + rdfs:subClassOf S231P:OutputConnector ; + a sh:NodeShape ; + sh:targetClass S231P:AnalogOutput ; + sh:property [ + a sh:PropertyShape ; + sh:class S231P:AnalogDataType ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:path S231P:isOfDataType + ] ; +. +S231P:IntegerInput a rdfs:Class ; + rdfs:comment "An input connector for integer data type"; + rdfs:subClassOf S231P:InputConnector ; + a sh:NodeShape ; + sh:targetClass S231P:IntegerInput ; + sh:property [ + a sh:PropertyShape ; + sh:class S231P:IntegerDataType ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:path S231P:isOfDataType + ] ; +. +S231P:IntegerOutput a rdfs:Class ; + rdfs:comment "An output connector for integer data type"; + rdfs:subClassOf S231P:OutputConnector ; + a sh:NodeShape ; + sh:targetClass S231P:IntegerOutput ; + sh:property [ + a sh:PropertyShape ; + sh:class S231P:IntegerDatatype ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:path S231P:isOfDataType + ] ; +. +S231P:RealInput a rdfs:Class ; + rdfs:comment "An input connector for real data type"; + rdfs:subClassOf S231P:InputConnector ; + a sh:NodeShape ; + sh:targetClass S231P:RealInput ; + sh:property [ + a sh:PropertyShape ; + sh:class S231P:RealDatatype ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:path S231P:isOfDataType + ] ; +. +S231P:RealOutput a rdfs:Class ; + rdfs:comment "An output connector for real data type" ; + rdfs:subClassOf S231P:OutputConnector ; + a sh:NodeShape ; + sh:targetClass S231P:RealOutput ; + sh:property [ + a sh:PropertyShape ; + sh:class S231P:RealDatatype ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:path S231P:isOfDataType + ] ; +. + +S231P:hasInput + a rdf:Property ; + rdfs:comment "Used to define an input connector for a block" ; + rdfs:label "has input connector" ; + rdfs:domain S231P:Block ; + rdfs:range S231P:InputConnector ; +. +S231P:hasOutput + a rdf:Property ; + rdfs:comment "Used to define an output connector for a block" ; + rdfs:label "has output connector" ; + rdfs:domain S231P:Block ; + rdfs:range S231P:OutputConnector ; +. +S231P:hasParameter + a rdf:Property ; + rdfs:comment "Used to define a parameter for a block" ; + rdfs:label "has parameter" ; + rdfs:domain S231P:Block ; + rdfs:range S231P:Parameter ; +. +S231P:hasConstant + a rdf:Property ; + rdfs:comment "Used to define a constant for a block" ; + rdfs:label "has input connector" ; + rdfs:domain S231P:Block ; + rdfs:range S231P:Constant ; +. +S231P:isOfDataType + a rdf:Property ; + rdfs:comment "Used to define the data type for input connectors, output connectors, parameters and constants" ; + rdfs:label "is of DataType" ; + rdfs:range S231P:DataType ; +. +S231P:containsBlock + a rdf:Property ; + rdfs:comment "Used in composite block to include other blocks" ; + rdfs:label "contains block" ; + rdfs:domain S231P:Block ; + rdfs:range S231P:Block ; +. +S231P:connectedTo + a rdf:Property ; + rdfs:comment "Used to connect the output of one block to the input of a block. Only connectors that carry the same data type can be connected" ; + rdfs:label "connected to" ; + rdfs:domain S231P:Connector ; + rdfs:range S231P:Connector ; +. + +S231P:description a rdf:Property . +S231P:accessSpecifier a rdf:Property . +S231P:graphics a rdf:Property . +S231P:name a rdf:Property . +S231P:label a rdf:Property . +S231P:value a rdf:Property . +S231P:start a rdf:Property . +S231P:nominal a rdf:Property . +S231P:quantity a rdf:Property . +S231P:fixed a rdf:Property . +S231P:instantiate a rdf:Property . +S231P:min a rdf:Property . +S231P:max a rdf:Property . +S231P:unit a rdf:Property . +S231P:displayUnit a rdf:Property . +S231P:cdlLineNumStart a rdf:Property . +S231P:cdlLineNumEnd a rdf:Property . \ No newline at end of file diff --git a/test/FromModelica/MyControllerWithExportAnnotation1.mo b/test/FromModelica/MyControllerWithExportAnnotation1.mo new file mode 100644 index 00000000..7ae811dc --- /dev/null +++ b/test/FromModelica/MyControllerWithExportAnnotation1.mo @@ -0,0 +1,58 @@ +within FromModelica; +block MyControllerWithExportAnnotation1 "My controller with export annotation in 1 CDL block" + + Buildings.Controls.OBC.CDL.Interfaces.RealInput u1 + "Real input 1" + annotation (Placement(transformation(extent={{-140,20},{-100,60}}), + iconTransformation(extent={{-140,40},{-100,80}})), + __cdl(connection(hardwired=true), trend(interval=60, enable=true))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput u2 + "Real input 2" + annotation (Placement(transformation(extent={{-140,-60},{-100,-20}}), + iconTransformation(extent={{-140,-80},{-100,-40}})), + __cdl(connection(hardwired=true), trend(interval=60, enable=true))); + + Buildings.Controls.OBC.CDL.Interfaces.RealOutput y + "Real output" + annotation (Placement(transformation(extent={{100,-20},{140,20}}), + iconTransformation(extent={{100,-20},{140,20}})), + __cdl(connection(hardwired=true), trend(interval=60, enable=true))); + + Buildings.Controls.OBC.CDL.Reals.Add add2 + "Add two real inputs" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + + SubController subCon1 "Sub controller" + annotation (Placement(transformation(extent={{-10,-50},{10,-30}})), + __cdl(generatePointlist=true, export=true)); + + SubController subCon2 "Sub controller" + annotation (Placement(transformation(extent={{-10,-90},{10,-70}}))); +equation + connect(u1, add2.u1) annotation (Line(points={{-120,40},{-60,40},{-60,6},{-12, + 6}}, color={0,0,127})); + connect(u2, add2.u2) annotation (Line(points={{-120,-40},{-60,-40},{-60,-6},{-12, + -6}}, color={0,0,127})); + connect(add2.y, y) + annotation (Line(points={{12,0},{120,0}}, color={0,0,127})); + connect(u2, subCon1.u) + annotation (Line(points={{-120,-40},{-12,-40}}, color={0,0,127})); + connect(u2, subCon2.u) annotation (Line(points={{-120,-40},{-60,-40},{-60,-80}, + {-12,-80}}, color={0,0,127})); + +annotation ( + __cdl(propagate(instance="subCon2", generatePointlist=true, controlledDevice="My Device"), propagate(instance="subCon1", generatePointlist=false, controlledDevice="My Device2")), + defaultComponentName="myCon", + Icon(coordinateSystem(preserveAspectRatio=false), graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + lineColor={0,0,255}, + extent={{-100,100},{100,140}}, + textString="%name")}), + Diagram(coordinateSystem(preserveAspectRatio=false))); +end MyControllerWithExportAnnotation1; diff --git a/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld b/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld index 762d63a2..7fe50bb3 100644 --- a/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld +++ b/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld @@ -1 +1 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:CustomPWithLimiter","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:CustomPWithLimiter#gain"},{"@id":"seq:CustomPWithLimiter#minValue"}],"S231P:hasInput":[{"@id":"seq:CustomPWithLimiter#e"},{"@id":"seq:CustomPWithLimiter#yMax"}],"S231P:hasOutput":{"@id":"seq:CustomPWithLimiter#y"},"S231P:hasParameter":{"@id":"seq:CustomPWithLimiter#k"}},{"@id":"seq:CustomPWithLimiter#e","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:CustomPWithLimiter#gain#u"}},{"@id":"seq:CustomPWithLimiter#gain","@type":"https://data.ashrae.org/S231P#CXF.Reals.MultiplyByParameter"},{"@id":"seq:CustomPWithLimiter#gain#y","S231P:isConnectedTo":{"@id":"seq:CustomPWithLimiter#minValue#u2"}},{"@id":"seq:CustomPWithLimiter#k","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:CustomPWithLimiter#minValue","@type":"https://data.ashrae.org/S231P#CXF.Reals.Min"},{"@id":"seq:CustomPWithLimiter#minValue#y","S231P:isConnectedTo":{"@id":"seq:CustomPWithLimiter#y"}},{"@id":"seq:CustomPWithLimiter#y","@type":"S231P:RealOutput"},{"@id":"seq:CustomPWithLimiter#yMax","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:CustomPWithLimiter#minValue#u1"}}]} \ No newline at end of file +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:CustomPWithLimiter","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:CustomPWithLimiter#gain"},{"@id":"seq:CustomPWithLimiter#minValue"}],"S231P:hasInput":[{"@id":"seq:CustomPWithLimiter#e"},{"@id":"seq:CustomPWithLimiter#yMax"}],"S231P:hasOutput":{"@id":"seq:CustomPWithLimiter#y"},"S231P:hasParameter":{"@id":"seq:CustomPWithLimiter#k"}},{"@id":"seq:CustomPWithLimiter#e","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:CustomPWithLimiter#gain.u"}},{"@id":"seq:CustomPWithLimiter#gain","@type":"https://data.ashrae.org/S231P#CXF.Reals.MultiplyByParameter"},{"@id":"seq:CustomPWithLimiter#gain.y","S231P:isConnectedTo":{"@id":"seq:CustomPWithLimiter#minValue.u2"}},{"@id":"seq:CustomPWithLimiter#k","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:CustomPWithLimiter#minValue","@type":"https://data.ashrae.org/S231P#CXF.Reals.Min"},{"@id":"seq:CustomPWithLimiter#minValue.y","S231P:isConnectedTo":{"@id":"seq:CustomPWithLimiter#y"}},{"@id":"seq:CustomPWithLimiter#y","@type":"S231P:RealOutput"},{"@id":"seq:CustomPWithLimiter#yMax","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:CustomPWithLimiter#minValue.u1"}}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/Enable.jsonld b/test/reference/cxf/test/FromModelica/Enable.jsonld index 22309b57..c1f8185f 100644 --- a/test/reference/cxf/test/FromModelica/Enable.jsonld +++ b/test/reference/cxf/test/FromModelica/Enable.jsonld @@ -1 +1 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:Enable","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:Enable#and1"},{"@id":"seq:Enable#and2"},{"@id":"seq:Enable#and3"},{"@id":"seq:Enable#andEnaDis"},{"@id":"seq:Enable#conInt"},{"@id":"seq:Enable#delOutDamOsc"},{"@id":"seq:Enable#delRetDam"},{"@id":"seq:Enable#entSubst1"},{"@id":"seq:Enable#hysOutEnt"},{"@id":"seq:Enable#hysOutTem"},{"@id":"seq:Enable#intEqu"},{"@id":"seq:Enable#maxRetDamSwitch"},{"@id":"seq:Enable#minRetDamSwitch"},{"@id":"seq:Enable#not1"},{"@id":"seq:Enable#not2"},{"@id":"seq:Enable#or2"},{"@id":"seq:Enable#outDamSwitch"},{"@id":"seq:Enable#retDamSwitch"},{"@id":"seq:Enable#sub1"},{"@id":"seq:Enable#sub2"},{"@id":"seq:Enable#truFalHol"}],"S231P:hasInput":[{"@id":"seq:Enable#hOut"},{"@id":"seq:Enable#hOutCut"},{"@id":"seq:Enable#TOut"},{"@id":"seq:Enable#TOutCut"},{"@id":"seq:Enable#u1SupFan"},{"@id":"seq:Enable#uFreProSta"},{"@id":"seq:Enable#uOutDam_max"},{"@id":"seq:Enable#uOutDam_min"},{"@id":"seq:Enable#uRetDam_max"},{"@id":"seq:Enable#uRetDam_min"},{"@id":"seq:Enable#uRetDamPhy_max"}],"S231P:hasOutput":[{"@id":"seq:Enable#yOutDam_max"},{"@id":"seq:Enable#yRetDam_max"},{"@id":"seq:Enable#yRetDam_min"}],"S231P:hasParameter":[{"@id":"seq:Enable#delEntHis"},{"@id":"seq:Enable#delTOutHis"},{"@id":"seq:Enable#disDel"},{"@id":"seq:Enable#hOutHigLimCutHig"},{"@id":"seq:Enable#hOutHigLimCutLow"},{"@id":"seq:Enable#retDamFulOpeTim"},{"@id":"seq:Enable#TOutHigLimCutHig"},{"@id":"seq:Enable#TOutHigLimCutLow"},{"@id":"seq:Enable#use_enthalpy"}]},{"@id":"seq:Enable#and1","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#and1#y","S231P:isConnectedTo":{"@id":"seq:Enable#andEnaDis#u1"}},{"@id":"seq:Enable#and2","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#and2#u1","S231P:isConnectedTo":{"@id":"seq:Enable#not2#y"}},{"@id":"seq:Enable#and2#y","S231P:isConnectedTo":[{"@id":"seq:Enable#maxRetDamSwitch#u2"},{"@id":"seq:Enable#minRetDamSwitch#u2"}]},{"@id":"seq:Enable#and3","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#and3#u2","S231P:isConnectedTo":{"@id":"seq:Enable#delOutDamOsc#y"}},{"@id":"seq:Enable#andEnaDis","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#andEnaDis#y","S231P:isConnectedTo":{"@id":"seq:Enable#not2#u"}},{"@id":"seq:Enable#conInt","@type":"seq:Buildings.Controls.OBC.CDL.Integers.Sources.Constant"},{"@id":"seq:Enable#conInt#y","S231P:isConnectedTo":{"@id":"seq:Enable#intEqu#u2"}},{"@id":"seq:Enable#delEntHis","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#delOutDamOsc","@type":"https://data.ashrae.org/S231P#CXF.Logical.TrueDelay"},{"@id":"seq:Enable#delOutDamOsc#u","S231P:isConnectedTo":{"@id":"seq:Enable#not2#y"}},{"@id":"seq:Enable#delRetDam","@type":"https://data.ashrae.org/S231P#CXF.Logical.TrueDelay"},{"@id":"seq:Enable#delRetDam#y","S231P:isConnectedTo":{"@id":"seq:Enable#not1#u"}},{"@id":"seq:Enable#delTOutHis","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#disDel","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#entSubst1","@type":"seq:Buildings.Controls.OBC.CDL.Logical.Sources.Constant"},{"@id":"seq:Enable#entSubst1#y","S231P:isConnectedTo":{"@id":"seq:Enable#or2#u2"}},{"@id":"seq:Enable#hOut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#sub2#u1"}},{"@id":"seq:Enable#hOutCut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#sub2#u2"}},{"@id":"seq:Enable#hOutHigLimCutHig","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#hOutHigLimCutLow","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#hysOutEnt","@type":"https://data.ashrae.org/S231P#CXF.Reals.Hysteresis"},{"@id":"seq:Enable#hysOutEnt#y","S231P:isConnectedTo":{"@id":"seq:Enable#or2#u2"}},{"@id":"seq:Enable#hysOutTem","@type":"https://data.ashrae.org/S231P#CXF.Reals.Hysteresis"},{"@id":"seq:Enable#hysOutTem#y","S231P:isConnectedTo":{"@id":"seq:Enable#or2#u1"}},{"@id":"seq:Enable#intEqu","@type":"https://data.ashrae.org/S231P#CXF.Integers.Equal"},{"@id":"seq:Enable#intEqu#y","S231P:isConnectedTo":{"@id":"seq:Enable#andEnaDis#u2"}},{"@id":"seq:Enable#maxRetDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#maxRetDamSwitch#y","S231P:isConnectedTo":{"@id":"seq:Enable#yRetDam_max"}},{"@id":"seq:Enable#minRetDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#minRetDamSwitch#y","S231P:isConnectedTo":{"@id":"seq:Enable#yRetDam_min"}},{"@id":"seq:Enable#not1","@type":"https://data.ashrae.org/S231P#CXF.Logical.Not"},{"@id":"seq:Enable#not1#y","S231P:isConnectedTo":{"@id":"seq:Enable#and2#u2"}},{"@id":"seq:Enable#not2","@type":"https://data.ashrae.org/S231P#CXF.Logical.Not"},{"@id":"seq:Enable#not2#y","S231P:isConnectedTo":[{"@id":"seq:Enable#and3#u1"},{"@id":"seq:Enable#delRetDam#u"},{"@id":"seq:Enable#retDamSwitch#u2"}]},{"@id":"seq:Enable#or2","@type":"https://data.ashrae.org/S231P#CXF.Logical.Or"},{"@id":"seq:Enable#or2#y","S231P:isConnectedTo":{"@id":"seq:Enable#truFalHol#u"}},{"@id":"seq:Enable#outDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#outDamSwitch#u2","S231P:isConnectedTo":{"@id":"seq:Enable#and3#y"}},{"@id":"seq:Enable#outDamSwitch#y","S231P:isConnectedTo":{"@id":"seq:Enable#yOutDam_max"}},{"@id":"seq:Enable#retDamFulOpeTim","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#retDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#retDamSwitch#y","S231P:isConnectedTo":{"@id":"seq:Enable#minRetDamSwitch#u3"}},{"@id":"seq:Enable#sub1","@type":"https://data.ashrae.org/S231P#CXF.Reals.Subtract"},{"@id":"seq:Enable#sub1#y","S231P:isConnectedTo":{"@id":"seq:Enable#hysOutTem#u"}},{"@id":"seq:Enable#sub2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Subtract"},{"@id":"seq:Enable#sub2#y","S231P:isConnectedTo":{"@id":"seq:Enable#hysOutEnt#u"}},{"@id":"seq:Enable#TOut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#sub1#u1"}},{"@id":"seq:Enable#TOutCut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#sub1#u2"}},{"@id":"seq:Enable#TOutHigLimCutHig","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#TOutHigLimCutLow","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#truFalHol","@type":"https://data.ashrae.org/S231P#CXF.Logical.TrueFalseHold"},{"@id":"seq:Enable#truFalHol#y","S231P:isConnectedTo":{"@id":"seq:Enable#and1#u1"}},{"@id":"seq:Enable#u1SupFan","@type":"S231P:BooleanInput","S231P:isConnectedTo":{"@id":"seq:Enable#and1#u2"}},{"@id":"seq:Enable#uFreProSta","@type":"S231P:IntegerInput","S231P:isConnectedTo":{"@id":"seq:Enable#intEqu#u1"}},{"@id":"seq:Enable#uOutDam_max","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#outDamSwitch#u3"}},{"@id":"seq:Enable#uOutDam_min","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#outDamSwitch#u1"}},{"@id":"seq:Enable#uRetDam_max","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:Enable#maxRetDamSwitch#u3"},{"@id":"seq:Enable#retDamSwitch#u1"}]},{"@id":"seq:Enable#uRetDam_min","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#retDamSwitch#u3"}},{"@id":"seq:Enable#uRetDamPhy_max","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:Enable#maxRetDamSwitch#u1"},{"@id":"seq:Enable#minRetDamSwitch#u1"}]},{"@id":"seq:Enable#use_enthalpy","S231P:isOfDataType":{"@id":"S231P:Boolean"}},{"@id":"seq:Enable#yOutDam_max","@type":"S231P:RealOutput"},{"@id":"seq:Enable#yRetDam_max","@type":"S231P:RealOutput"},{"@id":"seq:Enable#yRetDam_min","@type":"S231P:RealOutput"}]} \ No newline at end of file +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:Enable","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:Enable#and1"},{"@id":"seq:Enable#and2"},{"@id":"seq:Enable#and3"},{"@id":"seq:Enable#andEnaDis"},{"@id":"seq:Enable#conInt"},{"@id":"seq:Enable#delOutDamOsc"},{"@id":"seq:Enable#delRetDam"},{"@id":"seq:Enable#entSubst1"},{"@id":"seq:Enable#hysOutEnt"},{"@id":"seq:Enable#hysOutTem"},{"@id":"seq:Enable#intEqu"},{"@id":"seq:Enable#maxRetDamSwitch"},{"@id":"seq:Enable#minRetDamSwitch"},{"@id":"seq:Enable#not1"},{"@id":"seq:Enable#not2"},{"@id":"seq:Enable#or2"},{"@id":"seq:Enable#outDamSwitch"},{"@id":"seq:Enable#retDamSwitch"},{"@id":"seq:Enable#sub1"},{"@id":"seq:Enable#sub2"},{"@id":"seq:Enable#truFalHol"}],"S231P:hasInput":[{"@id":"seq:Enable#hOut"},{"@id":"seq:Enable#hOutCut"},{"@id":"seq:Enable#TOut"},{"@id":"seq:Enable#TOutCut"},{"@id":"seq:Enable#u1SupFan"},{"@id":"seq:Enable#uFreProSta"},{"@id":"seq:Enable#uOutDam_max"},{"@id":"seq:Enable#uOutDam_min"},{"@id":"seq:Enable#uRetDam_max"},{"@id":"seq:Enable#uRetDam_min"},{"@id":"seq:Enable#uRetDamPhy_max"}],"S231P:hasOutput":[{"@id":"seq:Enable#yOutDam_max"},{"@id":"seq:Enable#yRetDam_max"},{"@id":"seq:Enable#yRetDam_min"}],"S231P:hasParameter":[{"@id":"seq:Enable#delEntHis"},{"@id":"seq:Enable#delTOutHis"},{"@id":"seq:Enable#disDel"},{"@id":"seq:Enable#hOutHigLimCutHig"},{"@id":"seq:Enable#hOutHigLimCutLow"},{"@id":"seq:Enable#retDamFulOpeTim"},{"@id":"seq:Enable#TOutHigLimCutHig"},{"@id":"seq:Enable#TOutHigLimCutLow"},{"@id":"seq:Enable#use_enthalpy"}]},{"@id":"seq:Enable#and1","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#and1.y","S231P:isConnectedTo":{"@id":"seq:Enable#andEnaDis.u1"}},{"@id":"seq:Enable#and2","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#and2.u1","S231P:isConnectedTo":{"@id":"seq:Enable#not2.y"}},{"@id":"seq:Enable#and2.y","S231P:isConnectedTo":[{"@id":"seq:Enable#maxRetDamSwitch.u2"},{"@id":"seq:Enable#minRetDamSwitch.u2"}]},{"@id":"seq:Enable#and3","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#and3.u2","S231P:isConnectedTo":{"@id":"seq:Enable#delOutDamOsc.y"}},{"@id":"seq:Enable#andEnaDis","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#andEnaDis.y","S231P:isConnectedTo":{"@id":"seq:Enable#not2.u"}},{"@id":"seq:Enable#conInt","@type":"seq:Buildings.Controls.OBC.CDL.Integers.Sources.Constant"},{"@id":"seq:Enable#conInt.y","S231P:isConnectedTo":{"@id":"seq:Enable#intEqu.u2"}},{"@id":"seq:Enable#delEntHis","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#delOutDamOsc","@type":"https://data.ashrae.org/S231P#CXF.Logical.TrueDelay"},{"@id":"seq:Enable#delOutDamOsc.u","S231P:isConnectedTo":{"@id":"seq:Enable#not2.y"}},{"@id":"seq:Enable#delRetDam","@type":"https://data.ashrae.org/S231P#CXF.Logical.TrueDelay"},{"@id":"seq:Enable#delRetDam.y","S231P:isConnectedTo":{"@id":"seq:Enable#not1.u"}},{"@id":"seq:Enable#delTOutHis","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#disDel","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#entSubst1","@type":"seq:Buildings.Controls.OBC.CDL.Logical.Sources.Constant"},{"@id":"seq:Enable#entSubst1.y","S231P:isConnectedTo":{"@id":"seq:Enable#or2.u2"}},{"@id":"seq:Enable#hOut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#sub2.u1"}},{"@id":"seq:Enable#hOutCut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#sub2.u2"}},{"@id":"seq:Enable#hOutHigLimCutHig","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#hOutHigLimCutLow","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#hysOutEnt","@type":"https://data.ashrae.org/S231P#CXF.Reals.Hysteresis"},{"@id":"seq:Enable#hysOutEnt.y","S231P:isConnectedTo":{"@id":"seq:Enable#or2.u2"}},{"@id":"seq:Enable#hysOutTem","@type":"https://data.ashrae.org/S231P#CXF.Reals.Hysteresis"},{"@id":"seq:Enable#hysOutTem.y","S231P:isConnectedTo":{"@id":"seq:Enable#or2.u1"}},{"@id":"seq:Enable#intEqu","@type":"https://data.ashrae.org/S231P#CXF.Integers.Equal"},{"@id":"seq:Enable#intEqu.y","S231P:isConnectedTo":{"@id":"seq:Enable#andEnaDis.u2"}},{"@id":"seq:Enable#maxRetDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#maxRetDamSwitch.y","S231P:isConnectedTo":{"@id":"seq:Enable#yRetDam_max"}},{"@id":"seq:Enable#minRetDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#minRetDamSwitch.y","S231P:isConnectedTo":{"@id":"seq:Enable#yRetDam_min"}},{"@id":"seq:Enable#not1","@type":"https://data.ashrae.org/S231P#CXF.Logical.Not"},{"@id":"seq:Enable#not1.y","S231P:isConnectedTo":{"@id":"seq:Enable#and2.u2"}},{"@id":"seq:Enable#not2","@type":"https://data.ashrae.org/S231P#CXF.Logical.Not"},{"@id":"seq:Enable#not2.y","S231P:isConnectedTo":[{"@id":"seq:Enable#and3.u1"},{"@id":"seq:Enable#delRetDam.u"},{"@id":"seq:Enable#retDamSwitch.u2"}]},{"@id":"seq:Enable#or2","@type":"https://data.ashrae.org/S231P#CXF.Logical.Or"},{"@id":"seq:Enable#or2.y","S231P:isConnectedTo":{"@id":"seq:Enable#truFalHol.u"}},{"@id":"seq:Enable#outDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#outDamSwitch.u2","S231P:isConnectedTo":{"@id":"seq:Enable#and3.y"}},{"@id":"seq:Enable#outDamSwitch.y","S231P:isConnectedTo":{"@id":"seq:Enable#yOutDam_max"}},{"@id":"seq:Enable#retDamFulOpeTim","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#retDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#retDamSwitch.y","S231P:isConnectedTo":{"@id":"seq:Enable#minRetDamSwitch.u3"}},{"@id":"seq:Enable#sub1","@type":"https://data.ashrae.org/S231P#CXF.Reals.Subtract"},{"@id":"seq:Enable#sub1.y","S231P:isConnectedTo":{"@id":"seq:Enable#hysOutTem.u"}},{"@id":"seq:Enable#sub2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Subtract"},{"@id":"seq:Enable#sub2.y","S231P:isConnectedTo":{"@id":"seq:Enable#hysOutEnt.u"}},{"@id":"seq:Enable#TOut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#sub1.u1"}},{"@id":"seq:Enable#TOutCut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#sub1.u2"}},{"@id":"seq:Enable#TOutHigLimCutHig","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#TOutHigLimCutLow","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#truFalHol","@type":"https://data.ashrae.org/S231P#CXF.Logical.TrueFalseHold"},{"@id":"seq:Enable#truFalHol.y","S231P:isConnectedTo":{"@id":"seq:Enable#and1.u1"}},{"@id":"seq:Enable#u1SupFan","@type":"S231P:BooleanInput","S231P:isConnectedTo":{"@id":"seq:Enable#and1.u2"}},{"@id":"seq:Enable#uFreProSta","@type":"S231P:IntegerInput","S231P:isConnectedTo":{"@id":"seq:Enable#intEqu.u1"}},{"@id":"seq:Enable#uOutDam_max","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#outDamSwitch.u3"}},{"@id":"seq:Enable#uOutDam_min","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#outDamSwitch.u1"}},{"@id":"seq:Enable#uRetDam_max","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:Enable#maxRetDamSwitch.u3"},{"@id":"seq:Enable#retDamSwitch.u1"}]},{"@id":"seq:Enable#uRetDam_min","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#retDamSwitch.u3"}},{"@id":"seq:Enable#uRetDamPhy_max","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:Enable#maxRetDamSwitch.u1"},{"@id":"seq:Enable#minRetDamSwitch.u1"}]},{"@id":"seq:Enable#use_enthalpy","S231P:isOfDataType":{"@id":"S231P:Boolean"}},{"@id":"seq:Enable#yOutDam_max","@type":"S231P:RealOutput"},{"@id":"seq:Enable#yRetDam_max","@type":"S231P:RealOutput"},{"@id":"seq:Enable#yRetDam_min","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld b/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld index 6424fb07..16e8bbeb 100644 --- a/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld +++ b/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld @@ -1 +1 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MisplacedInfoWithEquation","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:MisplacedInfoWithEquation#gain"},"S231P:hasInput":{"@id":"seq:MisplacedInfoWithEquation#u"},"S231P:hasOutput":[{"@id":"seq:MisplacedInfoWithEquation#y1"},{"@id":"seq:MisplacedInfoWithEquation#y2"}],"S231P:hasParameter":{"@id":"seq:MisplacedInfoWithEquation#k"}},{"@id":"seq:MisplacedInfoWithEquation#gain","@type":"https://data.ashrae.org/S231P#CXF.Reals.MultiplyByParameter"},{"@id":"seq:MisplacedInfoWithEquation#gain#y","S231P:isConnectedTo":{"@id":"seq:MisplacedInfoWithEquation#y1"}},{"@id":"seq:MisplacedInfoWithEquation#k","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:MisplacedInfoWithEquation#u","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:MisplacedInfoWithEquation#gain#u"}},{"@id":"seq:MisplacedInfoWithEquation#y1","@type":"S231P:RealOutput"},{"@id":"seq:MisplacedInfoWithEquation#y2","@type":"S231P:RealOutput"}]} \ No newline at end of file +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MisplacedInfoWithEquation","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:MisplacedInfoWithEquation#gain"},"S231P:hasInput":{"@id":"seq:MisplacedInfoWithEquation#u"},"S231P:hasOutput":[{"@id":"seq:MisplacedInfoWithEquation#y1"},{"@id":"seq:MisplacedInfoWithEquation#y2"}],"S231P:hasParameter":{"@id":"seq:MisplacedInfoWithEquation#k"}},{"@id":"seq:MisplacedInfoWithEquation#gain","@type":"https://data.ashrae.org/S231P#CXF.Reals.MultiplyByParameter"},{"@id":"seq:MisplacedInfoWithEquation#gain.y","S231P:isConnectedTo":{"@id":"seq:MisplacedInfoWithEquation#y1"}},{"@id":"seq:MisplacedInfoWithEquation#k","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:MisplacedInfoWithEquation#u","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:MisplacedInfoWithEquation#gain.u"}},{"@id":"seq:MisplacedInfoWithEquation#y1","@type":"S231P:RealOutput"},{"@id":"seq:MisplacedInfoWithEquation#y2","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MyController.jsonld b/test/reference/cxf/test/FromModelica/MyController.jsonld index 2afa15fa..a241f26a 100644 --- a/test/reference/cxf/test/FromModelica/MyController.jsonld +++ b/test/reference/cxf/test/FromModelica/MyController.jsonld @@ -1 +1 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MyController","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:MyController#add2"},{"@id":"seq:MyController#subCon1"},{"@id":"seq:MyController#subCon2"}],"S231P:hasInput":[{"@id":"seq:MyController#u1"},{"@id":"seq:MyController#u2"}],"S231P:hasOutput":{"@id":"seq:MyController#y"}},{"@id":"seq:MyController#add2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Add"},{"@id":"seq:MyController#add2#y","S231P:isConnectedTo":{"@id":"seq:MyController#y"}},{"@id":"seq:MyController#subCon1","@type":"seq:SubController"},{"@id":"seq:MyController#subCon2","@type":"seq:SubController"},{"@id":"seq:MyController#u1","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:MyController#add2#u1"}},{"@id":"seq:MyController#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:MyController#add2#u2"},{"@id":"seq:MyController#subCon1#u"},{"@id":"seq:MyController#subCon2#u"}]},{"@id":"seq:MyController#y","@type":"S231P:RealOutput"}]} \ No newline at end of file +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MyController","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:MyController#add2"},{"@id":"seq:MyController#subCon1"},{"@id":"seq:MyController#subCon2"}],"S231P:hasInput":[{"@id":"seq:MyController#u1"},{"@id":"seq:MyController#u2"}],"S231P:hasOutput":{"@id":"seq:MyController#y"}},{"@id":"seq:MyController#add2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Add"},{"@id":"seq:MyController#add2.y","S231P:isConnectedTo":{"@id":"seq:MyController#y"}},{"@id":"seq:MyController#subCon1","@type":"seq:SubController"},{"@id":"seq:MyController#subCon2","@type":"seq:SubController"},{"@id":"seq:MyController#u1","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:MyController#add2.u1"}},{"@id":"seq:MyController#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:MyController#add2.u2"},{"@id":"seq:MyController#subCon1.u"},{"@id":"seq:MyController#subCon2.u"}]},{"@id":"seq:MyController#y","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld b/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld new file mode 100644 index 00000000..4bbbc992 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MyControllerWithExportAnnotation1","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:MyControllerWithExportAnnotation1#add2"},{"@id":"seq:MyControllerWithExportAnnotation1#subCon1"},{"@id":"seq:MyControllerWithExportAnnotation1#subCon2"}],"S231P:hasInput":[{"@id":"seq:MyControllerWithExportAnnotation1#u1"},{"@id":"seq:MyControllerWithExportAnnotation1#u2"}],"S231P:hasOutput":{"@id":"seq:MyControllerWithExportAnnotation1#y"}},{"@id":"seq:MyControllerWithExportAnnotation1#add2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Add"},{"@id":"seq:MyControllerWithExportAnnotation1#add2.y","S231P:isConnectedTo":{"@id":"seq:MyControllerWithExportAnnotation1#y"}},{"@id":"seq:MyControllerWithExportAnnotation1#subCon1","@type":"seq:SubController"},{"@id":"seq:MyControllerWithExportAnnotation1#subCon2","@type":"seq:SubController"},{"@id":"seq:MyControllerWithExportAnnotation1#u1","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:MyControllerWithExportAnnotation1#add2.u1"}},{"@id":"seq:MyControllerWithExportAnnotation1#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:MyControllerWithExportAnnotation1#add2.u2"},{"@id":"seq:MyControllerWithExportAnnotation1#subCon1.u"},{"@id":"seq:MyControllerWithExportAnnotation1#subCon2.u"}]},{"@id":"seq:MyControllerWithExportAnnotation1#y","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld b/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld index ab3a05da..7611f351 100644 --- a/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld +++ b/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld @@ -1 +1 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MyControllerWithSemantics","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:MyControllerWithSemantics#add2"},{"@id":"seq:MyControllerWithSemantics#heaCoi"},{"@id":"seq:MyControllerWithSemantics#subCon2"}],"S231P:hasInput":[{"@id":"seq:MyControllerWithSemantics#u1"},{"@id":"seq:MyControllerWithSemantics#u2"}],"S231P:hasOutput":{"@id":"seq:MyControllerWithSemantics#y"}},{"@id":"seq:MyControllerWithSemantics#add2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Add"},{"@id":"seq:MyControllerWithSemantics#add2#y","S231P:isConnectedTo":{"@id":"seq:MyControllerWithSemantics#y"}},{"@id":"seq:MyControllerWithSemantics#heaCoi","@type":"seq:SubController"},{"@id":"seq:MyControllerWithSemantics#subCon2","@type":"seq:SubControllerWithSemantics"},{"@id":"seq:MyControllerWithSemantics#u1","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:MyControllerWithSemantics#add2#u1"}},{"@id":"seq:MyControllerWithSemantics#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:MyControllerWithSemantics#add2#u2"},{"@id":"seq:MyControllerWithSemantics#heaCoi#u"},{"@id":"seq:MyControllerWithSemantics#subCon2#u"}]},{"@id":"seq:MyControllerWithSemantics#y","@type":"S231P:RealOutput"}]} \ No newline at end of file +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MyControllerWithSemantics","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:MyControllerWithSemantics#add2"},{"@id":"seq:MyControllerWithSemantics#heaCoi"},{"@id":"seq:MyControllerWithSemantics#subCon2"}],"S231P:hasInput":[{"@id":"seq:MyControllerWithSemantics#u1"},{"@id":"seq:MyControllerWithSemantics#u2"}],"S231P:hasOutput":{"@id":"seq:MyControllerWithSemantics#y"}},{"@id":"seq:MyControllerWithSemantics#add2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Add"},{"@id":"seq:MyControllerWithSemantics#add2.y","S231P:isConnectedTo":{"@id":"seq:MyControllerWithSemantics#y"}},{"@id":"seq:MyControllerWithSemantics#heaCoi","@type":"seq:SubController"},{"@id":"seq:MyControllerWithSemantics#subCon2","@type":"seq:SubControllerWithSemantics"},{"@id":"seq:MyControllerWithSemantics#u1","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:MyControllerWithSemantics#add2.u1"}},{"@id":"seq:MyControllerWithSemantics#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:MyControllerWithSemantics#add2.u2"},{"@id":"seq:MyControllerWithSemantics#heaCoi.u"},{"@id":"seq:MyControllerWithSemantics#subCon2.u"}]},{"@id":"seq:MyControllerWithSemantics#y","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/PointList.jsonld b/test/reference/cxf/test/FromModelica/PointList.jsonld index a2c9fa07..6d02f4c5 100644 --- a/test/reference/cxf/test/FromModelica/PointList.jsonld +++ b/test/reference/cxf/test/FromModelica/PointList.jsonld @@ -1 +1 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:PointList","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:PointList#con1"},{"@id":"seq:PointList#con2"}],"S231P:hasInput":[{"@id":"seq:PointList#u1"},{"@id":"seq:PointList#u2"}],"S231P:hasOutput":[{"@id":"seq:PointList#y1"},{"@id":"seq:PointList#y2"}]},{"@id":"seq:PointList#con1","@type":"seq:MyController"},{"@id":"seq:PointList#con1#y","S231P:isConnectedTo":{"@id":"seq:PointList#y2"}},{"@id":"seq:PointList#con2","@type":"seq:MyController"},{"@id":"seq:PointList#con2#y","S231P:isConnectedTo":{"@id":"seq:PointList#y1"}},{"@id":"seq:PointList#u1","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:PointList#con1#u1"},{"@id":"seq:PointList#con2#u1"}]},{"@id":"seq:PointList#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:PointList#con1#u2"},{"@id":"seq:PointList#con2#u2"}]},{"@id":"seq:PointList#y1","@type":"S231P:RealOutput"},{"@id":"seq:PointList#y2","@type":"S231P:RealOutput"}]} \ No newline at end of file +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:PointList","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:PointList#con1"},{"@id":"seq:PointList#con2"}],"S231P:hasInput":[{"@id":"seq:PointList#u1"},{"@id":"seq:PointList#u2"}],"S231P:hasOutput":[{"@id":"seq:PointList#y1"},{"@id":"seq:PointList#y2"}]},{"@id":"seq:PointList#con1","@type":"seq:MyController"},{"@id":"seq:PointList#con1.y","S231P:isConnectedTo":{"@id":"seq:PointList#y2"}},{"@id":"seq:PointList#con2","@type":"seq:MyController"},{"@id":"seq:PointList#con2.y","S231P:isConnectedTo":{"@id":"seq:PointList#y1"}},{"@id":"seq:PointList#u1","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:PointList#con1.u1"},{"@id":"seq:PointList#con2.u1"}]},{"@id":"seq:PointList#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:PointList#con1.u2"},{"@id":"seq:PointList#con2.u2"}]},{"@id":"seq:PointList#y1","@type":"S231P:RealOutput"},{"@id":"seq:PointList#y2","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld index b57b8fbd..4e6f8479 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld @@ -1 +1 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:TestEvaluation_2","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:TestEvaluation_2#hys"},"S231P:hasInput":{"@id":"seq:TestEvaluation_2#u"},"S231P:hasOutput":{"@id":"seq:TestEvaluation_2#y"},"S231P:hasParameter":[{"@id":"seq:TestEvaluation_2#uHigh"},{"@id":"seq:TestEvaluation_2#uLow"}]},{"@id":"seq:TestEvaluation_2#hys","@type":"https://data.ashrae.org/S231P#CXF.Reals.Hysteresis"},{"@id":"seq:TestEvaluation_2#hys#u","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_2#u"}},{"@id":"seq:TestEvaluation_2#hys#y","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_2#y"}},{"@id":"seq:TestEvaluation_2#u","@type":"S231P:RealInput"},{"@id":"seq:TestEvaluation_2#uHigh","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_2#uLow","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_2#y","@type":"S231P:BooleanOutput"}]} \ No newline at end of file +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:TestEvaluation_2","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:TestEvaluation_2#hys"},"S231P:hasInput":{"@id":"seq:TestEvaluation_2#u"},"S231P:hasOutput":{"@id":"seq:TestEvaluation_2#y"},"S231P:hasParameter":[{"@id":"seq:TestEvaluation_2#uHigh"},{"@id":"seq:TestEvaluation_2#uLow"}]},{"@id":"seq:TestEvaluation_2#hys","@type":"https://data.ashrae.org/S231P#CXF.Reals.Hysteresis"},{"@id":"seq:TestEvaluation_2#hys.u","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_2#u"}},{"@id":"seq:TestEvaluation_2#hys.y","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_2#y"}},{"@id":"seq:TestEvaluation_2#u","@type":"S231P:RealInput"},{"@id":"seq:TestEvaluation_2#uHigh","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_2#uLow","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_2#y","@type":"S231P:BooleanOutput"}]} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld index 6e595067..47b33d62 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld @@ -1 +1 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:TestEvaluation_4","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:TestEvaluation_4#cooCoi"},"S231P:hasInput":[{"@id":"seq:TestEvaluation_4#TAirSup"},{"@id":"seq:TestEvaluation_4#TSupCooSet"},{"@id":"seq:TestEvaluation_4#u1SupFan"},{"@id":"seq:TestEvaluation_4#uZonSta"}],"S231P:hasOutput":{"@id":"seq:TestEvaluation_4#yCooCoi"},"S231P:hasParameter":[{"@id":"seq:TestEvaluation_4#controllerTypeCooCoi"},{"@id":"seq:TestEvaluation_4#kCooCoi"},{"@id":"seq:TestEvaluation_4#TiCooCoi"}]},{"@id":"seq:TestEvaluation_4#cooCoi","@type":"seq:Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.CoolingCoil"},{"@id":"seq:TestEvaluation_4#cooCoi#TAirSup","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#TAirSup"}},{"@id":"seq:TestEvaluation_4#cooCoi#TSupCooSet","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#TSupCooSet"}},{"@id":"seq:TestEvaluation_4#cooCoi#u1SupFan","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#u1SupFan"}},{"@id":"seq:TestEvaluation_4#cooCoi#uZonSta","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#uZonSta"}},{"@id":"seq:TestEvaluation_4#cooCoi#yCooCoi","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#yCooCoi"}},{"@id":"seq:TestEvaluation_4#kCooCoi","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_4#TAirSup","@type":"S231P:RealInput"},{"@id":"seq:TestEvaluation_4#TiCooCoi","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_4#TSupCooSet","@type":"S231P:RealInput"},{"@id":"seq:TestEvaluation_4#u1SupFan","@type":"S231P:BooleanInput"},{"@id":"seq:TestEvaluation_4#uZonSta","@type":"S231P:IntegerInput"},{"@id":"seq:TestEvaluation_4#yCooCoi","@type":"S231P:RealOutput"}]} \ No newline at end of file +{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:TestEvaluation_4","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:TestEvaluation_4#cooCoi"},"S231P:hasInput":[{"@id":"seq:TestEvaluation_4#TAirSup"},{"@id":"seq:TestEvaluation_4#TSupCooSet"},{"@id":"seq:TestEvaluation_4#u1SupFan"},{"@id":"seq:TestEvaluation_4#uZonSta"}],"S231P:hasOutput":{"@id":"seq:TestEvaluation_4#yCooCoi"},"S231P:hasParameter":[{"@id":"seq:TestEvaluation_4#controllerTypeCooCoi"},{"@id":"seq:TestEvaluation_4#kCooCoi"},{"@id":"seq:TestEvaluation_4#TiCooCoi"}]},{"@id":"seq:TestEvaluation_4#cooCoi","@type":"seq:Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.CoolingCoil"},{"@id":"seq:TestEvaluation_4#cooCoi.TAirSup","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#TAirSup"}},{"@id":"seq:TestEvaluation_4#cooCoi.TSupCooSet","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#TSupCooSet"}},{"@id":"seq:TestEvaluation_4#cooCoi.u1SupFan","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#u1SupFan"}},{"@id":"seq:TestEvaluation_4#cooCoi.uZonSta","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#uZonSta"}},{"@id":"seq:TestEvaluation_4#cooCoi.yCooCoi","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_4#yCooCoi"}},{"@id":"seq:TestEvaluation_4#kCooCoi","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_4#TAirSup","@type":"S231P:RealInput"},{"@id":"seq:TestEvaluation_4#TiCooCoi","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_4#TSupCooSet","@type":"S231P:RealInput"},{"@id":"seq:TestEvaluation_4#u1SupFan","@type":"S231P:BooleanInput"},{"@id":"seq:TestEvaluation_4#uZonSta","@type":"S231P:IntegerInput"},{"@id":"seq:TestEvaluation_4#yCooCoi","@type":"S231P:RealOutput"}]} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/MyControllerWithExportAnnotation1.json b/test/reference/json/test/FromModelica/MyControllerWithExportAnnotation1.json new file mode 100644 index 00000000..10b71122 --- /dev/null +++ b/test/reference/json/test/FromModelica/MyControllerWithExportAnnotation1.json @@ -0,0 +1 @@ +{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"MyControllerWithExportAnnotation1","description_string":"My controller with export annotation in 1 CDL block","composition":{"element_list":[{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","component_list":[{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}}]}},{"component_clause":{"type_specifier":"SubController","component_list":[{"declaration":{"identifier":"subCon1"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"export","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"SubController","component_list":[{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}}]}}],"element_sections":[{"equation_section":{"equation":[{"connect_clause":{"from":[{"dot_op":false,"identifier":"u1"}],"to":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":40},{"x":-60,"y":40},{"x":-60,"y":6},{"x":-12,"y":6}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-60,"y":-40},{"x":-60,"y":-6},{"x":-12,"y":-6}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"y"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":12,"y":0},{"x":120,"y":0}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"subCon1"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-12,"y":-40}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"subCon2"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-60,"y":-40},{"x":-60,"y":-80},{"x":-12,"y":-80}],"color":{"r":0,"g":0,"b":127}}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device2\""}}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/MyControllerWithExportAnnotation1.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo","checksum":"f97d817f9acd902b0ffba91a3112781e"} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/BlockInputOutput.json b/test/reference/objects/test/FromModelica/BlockInputOutput.json index c2b09a50..50323c18 100644 --- a/test/reference/objects/test/FromModelica/BlockInputOutput.json +++ b/test/reference/objects/test/FromModelica/BlockInputOutput.json @@ -1 +1 @@ -{"instances":{"BlockInputOutput":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo","type":"long_class_specifier"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"BlockInputOutput","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"BlockInputOutput","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"BlockInputOutput":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo","type":"long_class_specifier"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"BlockInputOutput","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"BlockInputOutput","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/BlockWithBlock1.json b/test/reference/objects/test/FromModelica/BlockWithBlock1.json index 4ffb358b..3be40519 100644 --- a/test/reference/objects/test/FromModelica/BlockWithBlock1.json +++ b/test/reference/objects/test/FromModelica/BlockWithBlock1.json @@ -1 +1 @@ -{"instances":{"BlockWithBlock1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo","type":"long_class_specifier"},"bloPub":{"type_specifier":"Block1","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"BlockWithBlock1","single_component_list":{"declaration":{"identifier":"bloPub"},"description":{"description_string":"A public block"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo"},"bloPro":{"type_specifier":"Block1","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"BlockWithBlock1","single_component_list":{"declaration":{"identifier":"bloPro"},"description":{"description_string":"A protected block"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"BlockWithBlock1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo","type":"long_class_specifier"},"bloPub":{"type_specifier":"Block1","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"BlockWithBlock1","single_component_list":{"declaration":{"identifier":"bloPub"},"description":{"description_string":"A public block"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo"},"bloPro":{"type_specifier":"Block1","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"BlockWithBlock1","single_component_list":{"declaration":{"identifier":"bloPro"},"description":{"description_string":"A protected block"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ConditionalBlock.json b/test/reference/objects/test/FromModelica/ConditionalBlock.json index 83f0d760..28d32f6d 100644 --- a/test/reference/objects/test/FromModelica/ConditionalBlock.json +++ b/test/reference/objects/test/FromModelica/ConditionalBlock.json @@ -1 +1 @@ -{"instances":{"ConditionalBlock":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo","type":"long_class_specifier"},"enaBlo":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"enaBlo","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Flag for enabling instance"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"u"},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Abs","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"abs"},"condition_attribute":{"expression":{"simple_expression":"not enaBlo"}},"description":{"description_string":"Instance could be conditional disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"ConditionalBlock":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo","type":"long_class_specifier"},"enaBlo":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"enaBlo","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Flag for enabling instance"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"u"},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Abs","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"abs"},"condition_attribute":{"expression":{"simple_expression":"not enaBlo"}},"description":{"description_string":"Instance could be conditional disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/CustomPWithLimiter.json b/test/reference/objects/test/FromModelica/CustomPWithLimiter.json index 39678d6c..9e260abf 100644 --- a/test/reference/objects/test/FromModelica/CustomPWithLimiter.json +++ b/test/reference/objects/test/FromModelica/CustomPWithLimiter.json @@ -1 +1 @@ -{"instances":{"CustomPWithLimiter":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nBlock that outputs y = min(yMax, k*e),\nwhere\nyMax and e are real-valued input signals and\nk is a parameter.\n

\n\""}}}}}]}}}}],"semantics":{}},"k":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}},"description":{"description_string":"Constant gain"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"yMax":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"yMax"},"description":{"description_string":"Maximum value of output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"e":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"e"},"description":{"description_string":"Control error","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Control signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"minValue":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Min","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"minValue"},"description":{"description_string":"Outputs the minimum of its inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-10},{"x":40,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-10},{"x":40,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"}},"requiredReferences":{"connections":{"yMax":["minValue.u1"],"e":["gain.u"],"gain.y":["minValue.u2"],"minValue.y":["y"]}}} \ No newline at end of file +{"instances":{"CustomPWithLimiter":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nBlock that outputs y = min(yMax, k*e),\nwhere\nyMax and e are real-valued input signals and\nk is a parameter.\n

\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"k":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}},"description":{"description_string":"Constant gain"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"yMax":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"yMax"},"description":{"description_string":"Maximum value of output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"e":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"e"},"description":{"description_string":"Control error","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Control signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"minValue":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Min","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"minValue"},"description":{"description_string":"Outputs the minimum of its inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-10},{"x":40,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-10},{"x":40,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"}},"requiredReferences":{"connections":{"yMax":["minValue.u1"],"e":["gain.u"],"gain.y":["minValue.u2"],"minValue.y":["y"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/DynamicTextColor.json b/test/reference/objects/test/FromModelica/DynamicTextColor.json index 29a5704d..5f59d335 100644 --- a/test/reference/objects/test/FromModelica/DynamicTextColor.json +++ b/test/reference/objects/test/FromModelica/DynamicTextColor.json @@ -1 +1 @@ -{"instances":{"DynamicTextColor":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"preserveAspectRatio":"true"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Text","attribute":{"extent":[{"x":-90,"y":80},{"x":-46,"y":54}],"textString":"\"true\"","lineColor":{"r":0,"g":0,"b":null}}},{"name":"Text","attribute":{"extent":[{"x":-150,"y":150},{"x":150,"y":110}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}}],"semantics":{}},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"DynamicTextColor","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"DynamicTextColor":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"preserveAspectRatio":"true"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Text","attribute":{"extent":[{"x":-90,"y":80},{"x":-46,"y":54}],"textString":"\"true\"","lineColor":{"r":0,"g":0,"b":null}}},{"name":"Text","attribute":{"extent":[{"x":-150,"y":150},{"x":150,"y":110}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}}],"semantics":{},"cdl_annotations":{}},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"DynamicTextColor","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Enable.json b/test/reference/objects/test/FromModelica/Enable.json index a81d3d0a..9edafd11 100644 --- a/test/reference/objects/test/FromModelica/Enable.json +++ b/test/reference/objects/test/FromModelica/Enable.json @@ -1 +1 @@ -{"instances":{"Enable":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"enaDis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-100,"y":-140},{"x":100,"y":140}]}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-140},{"x":100,"y":140}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":180},{"x":100,"y":140}],"textString":"\"%name\"","textColor":{"r":0,"g":0,"b":255}}},{"name":"Line","attribute":{"points":[{"x":0,"y":60},{"x":80,"y":60}],"color":{"r":0,"g":0,"b":127},"thickness":0.5}},{"name":"Line","attribute":{"points":[{"x":-80,"y":-60},{"x":0,"y":-60},{"x":0,"y":60}],"color":{"r":0,"g":0,"b":127},"thickness":0.5}},{"name":"Text","attribute":{"extent":[{"x":-98,"y":38},{"x":-56,"y":24}],"textString":"\"u1SupFan\"","textColor":{"r":255,"g":0,"b":255},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":18},{"x":-44,"y":4}],"textString":"\"uFreProSta\"","textColor":{"r":255,"g":127,"b":0},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":68},{"x":-56,"y":54}],"textString":"\"hOutCut\"","textColor":{"r":0,"g":0,"b":127},"visible":"use_enthalpy","pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":86},{"x":-70,"y":72}],"textString":"\"hOut\"","textColor":{"r":0,"g":0,"b":127},"visible":"use_enthalpy","pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":116},{"x":-56,"y":102}],"textString":"\"TOutCut\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":138},{"x":-72,"y":124}],"textString":"\"TOut\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-100},{"x":-32,"y":-118}],"textString":"\"uRetDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-10},{"x":-28,"y":-28}],"textString":"\"uOutDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-30},{"x":-28,"y":-48}],"textString":"\"uOutDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-80},{"x":-12,"y":-98}],"textString":"\"uRetDamPhy_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-120},{"x":-32,"y":-138}],"textString":"\"uRetDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":110},{"x":96,"y":92}],"textString":"\"yOutDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":12},{"x":96,"y":-6}],"textString":"\"yRetDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":-88},{"x":96,"y":-106}],"textString":"\"yRetDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-260,"y":-280},{"x":240,"y":280}],"preserveAspectRatio":"false","initialScale":0.05}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":-2},{"x":220,"y":-250}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":58},{"x":220,"y":6}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":118},{"x":220,"y":66}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":258},{"x":220,"y":130}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":158},{"x":204,"y":138}],"textString":"\"Outdoor air\nconditions\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":52},{"x":298,"y":18}],"textString":"\"Freeze protection -\ndisable if stage1\nand above\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":-198},{"x":288,"y":-246}],"textString":"\"Damper position\nlimit assignments\nwith delays\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":84},{"x":214,"y":74}],"textString":"\"Supply fan status\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is a multi zone VAV AHU economizer enable/disable sequence\nbased on the Section 5.16.7 of the ASHRAE Guideline 36, May 2020. Additional\nconditions included in the sequence are: freeze protection (freeze protection\nstage 0-3, see Section 5.16.12), supply fan status (on or off, see Section 5.16.5).\n

\n

\nThe economizer is disabled whenever the outdoor air conditions\nexceed the economizer high limit setpoint.\nThis sequence allows for all device types listed in\nASHRAE 90.1-2013 and Title 24-2013.\n

\n

\nIn addition, the economizer gets disabled without a delay whenever any of the\nfollowing is true:\n

\n\n

\nThe following state machine chart illustrates the transitions between enabling and disabling:\n

\n

\n\\\"Image\n

\n

\nAfter the disable signal is activated, the following procedure is applied, in order to\nprevent pressure fluctuations in the HVAC system:\n

\n
    \n
  • \nThe return damper gets fully opened (yRetDam_max = uRetDamPhy_max and\nyRetDam_min = uRetDamPhy_max) for retDamFulOpeTim\ntime period, after which the return damper gets released to its minimum outdoor airflow control position\n(yRetDam_max = uRetDam_max and yRetDam_min = uRetDam_max).\n
  • \n
  • \nThe outdoor air damper is closed to its minimum outoor airflow control limit (yOutDam_max = uOutDam_min)\nafter a disDel time delay.\n
  • \n
\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\n
    \n
  • \nOctober 13, 2017, by Michael Wetter:
    \nAdded freeze protection that tracks mixed air temperature.\n
  • \n
  • \nAugust 3, 2017, by Michael Wetter:
    \nRemoved unrequired input into block and2 as this input\nwas always true if and2.u2 = true.\n
  • \n
  • \nJune 27, 2017, by Milica Grahovac:
    \nFirst implementation.\n
  • \n
\n\""}}}}}]}}}}],"semantics":{}},"use_enthalpy":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"use_enthalpy","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Set to true to evaluate outdoor air (OA) enthalpy in addition to temperature","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Conditional\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Conditional\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delTOutHis":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delTOutHis","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"TemperatureDifference\""}}}}}],"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Delta between the temperature hysteresis high and low limit","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delEntHis":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delEntHis","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}],"equal":true,"expression":{"simple_expression":"1000"}}},"description":{"description_string":"Delta between the enthalpy hysteresis high and low limits","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"use_enthalpy"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"use_enthalpy"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"retDamFulOpeTim":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"retDamFulOpeTim","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"s\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"Time\""}}}}}],"equal":true,"expression":{"simple_expression":"180"}}},"description":{"description_string":"Time period to keep RA damper fully open before releasing it for minimum outdoor airflow control\n at disable to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"disDel":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"disDel","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"s\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"Time\""}}}}}],"equal":true,"expression":{"simple_expression":"15"}}},"description":{"description_string":"Short time delay before closing the OA damper at disable to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"Outdoor air temperature","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":232},{"x":-260,"y":272}]},"iconTransformation":{"extent":[{"x":-140,"y":110},{"x":-100,"y":150}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":232},{"x":-260,"y":272}]},"iconTransformation":{"extent":[{"x":-140,"y":110},{"x":-100,"y":150}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Outdoor air enthalpy","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":152},{"x":-260,"y":192}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":152},{"x":-260,"y":192}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutCut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutCut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"OA temperature high limit cutoff. For differential dry bulb temperature condition use return air temperature measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":192},{"x":-260,"y":232}]},"iconTransformation":{"extent":[{"x":-140,"y":90},{"x":-100,"y":130}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":192},{"x":-260,"y":232}]},"iconTransformation":{"extent":[{"x":-140,"y":90},{"x":-100,"y":130}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutCut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutCut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"OA enthalpy high limit cutoff. For differential enthalpy use return air enthalpy measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":112},{"x":-260,"y":152}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":112},{"x":-260,"y":152}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uOutDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uOutDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum outdoor air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-98},{"x":-260,"y":-58}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-98},{"x":-260,"y":-58}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uOutDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uOutDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum outdoor air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-58},{"x":-260,"y":-18}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-58},{"x":-260,"y":-18}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-178},{"x":-260,"y":-138}]},"iconTransformation":{"extent":[{"x":-140,"y":-130},{"x":-100,"y":-90}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-178},{"x":-260,"y":-138}]},"iconTransformation":{"extent":[{"x":-140,"y":-130},{"x":-100,"y":-90}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-218},{"x":-260,"y":-178}]},"iconTransformation":{"extent":[{"x":-140,"y":-150},{"x":-100,"y":-110}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-218},{"x":-260,"y":-178}]},"iconTransformation":{"extent":[{"x":-140,"y":-150},{"x":-100,"y":-110}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDamPhy_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDamPhy_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Physical maximum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-138},{"x":-260,"y":-98}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-138},{"x":-260,"y":-98}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"u1SupFan":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"u1SupFan"},"description":{"description_string":"Supply fan proven on","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":62},{"x":-260,"y":102}]},"iconTransformation":{"extent":[{"x":-140,"y":10},{"x":-100,"y":50}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":62},{"x":-260,"y":102}]},"iconTransformation":{"extent":[{"x":-140,"y":10},{"x":-100,"y":50}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uFreProSta":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uFreProSta"},"description":{"description_string":"Freeze protection stage status signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":22},{"x":-260,"y":62}]},"iconTransformation":{"extent":[{"x":-140,"y":-10},{"x":-100,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":22},{"x":-260,"y":62}]},"iconTransformation":{"extent":[{"x":-140,"y":-10},{"x":-100,"y":30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yOutDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yOutDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum outdoor air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":22},{"x":280,"y":62}]},"iconTransformation":{"extent":[{"x":100,"y":80},{"x":140,"y":120}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":22},{"x":280,"y":62}]},"iconTransformation":{"extent":[{"x":100,"y":80},{"x":140,"y":120}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yRetDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yRetDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum return air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-98},{"x":280,"y":-58}]},"iconTransformation":{"extent":[{"x":100,"y":-120},{"x":140,"y":-80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-98},{"x":280,"y":-58}]},"iconTransformation":{"extent":[{"x":100,"y":-120},{"x":140,"y":-80}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yRetDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yRetDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum return air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-38},{"x":280,"y":2}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-38},{"x":280,"y":2}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"truFalHol":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueFalseHold","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"truFalHol","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"trueHoldDuration","modification":{"equal":true,"expression":{"simple_expression":"600"}}}}}]}},"description":{"description_string":"Economizer should not be enabled or disabled within 10 minutes of change","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":182},{"x":40,"y":202}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":182},{"x":40,"y":202}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"andEnaDis":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"andEnaDis"},"description":{"description_string":"Check freeze protection stage and zone state","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":12},{"x":80,"y":32}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":12},{"x":80,"y":32}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutHigLimCutHig":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutHigLimCutHig","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"TemperatureDifference\""}}}}}],"equal":true,"expression":{"simple_expression":"0"}}},"description":{"description_string":"Hysteresis high limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutHigLimCutLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutHigLimCutLow","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutHig -delTOutHis"}}},"description":{"description_string":"Hysteresis low limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutHigLimCutHig":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutHigLimCutHig","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}],"equal":true,"expression":{"simple_expression":"0"}}},"description":{"description_string":"Hysteresis block high limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutHigLimCutLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutHigLimCutLow","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutHig -delEntHis"}}},"description":{"description_string":"Hysteresis block low limit cutoff"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"sub2":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Subtract","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"sub2"},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Add block determines difference between hOut and hOutCut","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":140},{"x":-180,"y":160}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":140},{"x":-180,"y":160}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"sub1":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Subtract","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"sub1"},"description":{"description_string":"Add block determines difference between TOut and TOutCut","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":220},{"x":-180,"y":240}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":220},{"x":-180,"y":240}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hysOutTem":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Hysteresis","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hysOutTem","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutLow"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutHig"}}}}}]}},"description":{"description_string":"Outdoor air temperature hysteresis for both fixed and differential dry bulb temperature cutoff conditions","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":220},{"x":-140,"y":240}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":220},{"x":-140,"y":240}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hysOutEnt":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Hysteresis","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hysOutEnt","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutLow"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutHig"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Outdoor air enthalpy hysteresis for both fixed and differential enthalpy cutoff conditions","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":140},{"x":-140,"y":160}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":140},{"x":-140,"y":160}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"outDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"outDamSwitch"},"description":{"description_string":"Set maximum OA damper position to minimum at disable (after a given time delay)","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":82,"y":-78},{"x":102,"y":-58}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":82,"y":-78},{"x":102,"y":-58}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"retDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"retDamSwitch"},"description":{"description_string":"Set minimum RA damper position to maximum at disable","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-176},{"x":0,"y":-156}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-176},{"x":0,"y":-156}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"maxRetDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"maxRetDamSwitch"},"description":{"description_string":"Keep maximum RA damper position at physical maximum for a short time period after disable signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-136},{"x":80,"y":-116}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-136},{"x":80,"y":-116}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"minRetDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"minRetDamSwitch"},"description":{"description_string":"Keep minimum RA damper position at physical maximum for a short time period after disable","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-178},{"x":80,"y":-158}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-178},{"x":80,"y":-158}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"not2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Not","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"not2"},"description":{"description_string":"Logical not that starts the timer at disable signal ","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-58},{"x":-40,"y":-38}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-58},{"x":-40,"y":-38}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and2"},"description":{"description_string":"Logical and","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":160,"y":-100},{"x":180,"y":-80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":160,"y":-100},{"x":180,"y":-80}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and1"},"description":{"description_string":"Check supply fan status","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":80},{"x":40,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":80},{"x":40,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and3":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and3"},"description":{"description_string":"Check if delay time has been passed after economizer being disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":40,"y":-54},{"x":60,"y":-34}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":40,"y":-54},{"x":60,"y":-34}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"intEqu":{"type_specifier":"Buildings.Controls.OBC.CDL.Integers.Equal","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"intEqu"},"description":{"description_string":"Logical block to check if the freeze protection is deactivated","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-78,"y":32},{"x":-58,"y":52}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-78,"y":32},{"x":-58,"y":52}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delOutDamOsc":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delOutDamOsc","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"disDel"}}}}}]}},"description":{"description_string":"Small delay before closing the outdoor air damper to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-58},{"x":0,"y":-38}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-58},{"x":0,"y":-38}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delRetDam":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delRetDam","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"retDamFulOpeTim"}}}}}]}},"description":{"description_string":"Keep return damper open to its physical maximum for a short period of time before closing the outdoor air damper and resuming the maximum return air damper position, per G36 Part N7","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-108},{"x":0,"y":-88}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-108},{"x":0,"y":-88}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"not1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Not","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"not1"},"description":{"description_string":"Logical not","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-108},{"x":40,"y":-88}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-108},{"x":40,"y":-88}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"conInt":{"type_specifier":"Buildings.Controls.OBC.CDL.Integers.Sources.Constant","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"conInt","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeProtectionStages.stage0"}}}}}]}},"description":{"description_string":"Integer constant, stage 0","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-118,"y":12},{"x":-98,"y":32}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-118,"y":12},{"x":-98,"y":32}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"entSubst1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"entSubst1","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"not use_enthalpy"}},"description":{"description_string":"Deactivates outdoor air enthalpy condition if there is no enthalpy sensor","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":180},{"x":-140,"y":200}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":180},{"x":-140,"y":200}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"or2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Or","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"or2"},"description":{"description_string":"Check if either the temperature or the enthalpy condition is satisfied","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":182},{"x":-40,"y":202}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":182},{"x":-40,"y":202}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"}},"requiredReferences":{"connections":{"TOut":["sub1.u1"],"TOutCut":["sub1.u2"],"sub1.y":["hysOutTem.u"],"hOut":["sub2.u1"],"hOutCut":["sub2.u2"],"sub2.y":["hysOutEnt.u"],"uOutDam_min":["outDamSwitch.u1"],"uOutDam_max":["outDamSwitch.u3"],"uRetDamPhy_max":["maxRetDamSwitch.u1","minRetDamSwitch.u1"],"uRetDam_max":["maxRetDamSwitch.u3","retDamSwitch.u1"],"andEnaDis.y":["not2.u"],"maxRetDamSwitch.y":["yRetDam_max"],"and2.y":["maxRetDamSwitch.u2","minRetDamSwitch.u2"],"not2.y":["retDamSwitch.u2","and3.u1","delRetDam.u"],"uRetDam_min":["retDamSwitch.u3"],"retDamSwitch.y":["minRetDamSwitch.u3"],"truFalHol.y":["and1.u1"],"and1.y":["andEnaDis.u1"],"u1SupFan":["and1.u2"],"outDamSwitch.u2":["and3.y"],"and2.u1":["not2.y"],"and3.u2":["delOutDamOsc.y"],"delOutDamOsc.u":["not2.y"],"delRetDam.y":["not1.u"],"not1.y":["and2.u2"],"uFreProSta":["intEqu.u1"],"conInt.y":["intEqu.u2"],"intEqu.y":["andEnaDis.u2"],"outDamSwitch.y":["yOutDam_max"],"minRetDamSwitch.y":["yRetDam_min"],"or2.y":["truFalHol.u"],"hysOutTem.y":["or2.u1"],"hysOutEnt.y":["or2.u2"],"entSubst1.y":["or2.u2"]}}} \ No newline at end of file +{"instances":{"Enable":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"enaDis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-100,"y":-140},{"x":100,"y":140}]}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-140},{"x":100,"y":140}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":180},{"x":100,"y":140}],"textString":"\"%name\"","textColor":{"r":0,"g":0,"b":255}}},{"name":"Line","attribute":{"points":[{"x":0,"y":60},{"x":80,"y":60}],"color":{"r":0,"g":0,"b":127},"thickness":0.5}},{"name":"Line","attribute":{"points":[{"x":-80,"y":-60},{"x":0,"y":-60},{"x":0,"y":60}],"color":{"r":0,"g":0,"b":127},"thickness":0.5}},{"name":"Text","attribute":{"extent":[{"x":-98,"y":38},{"x":-56,"y":24}],"textString":"\"u1SupFan\"","textColor":{"r":255,"g":0,"b":255},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":18},{"x":-44,"y":4}],"textString":"\"uFreProSta\"","textColor":{"r":255,"g":127,"b":0},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":68},{"x":-56,"y":54}],"textString":"\"hOutCut\"","textColor":{"r":0,"g":0,"b":127},"visible":"use_enthalpy","pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":86},{"x":-70,"y":72}],"textString":"\"hOut\"","textColor":{"r":0,"g":0,"b":127},"visible":"use_enthalpy","pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":116},{"x":-56,"y":102}],"textString":"\"TOutCut\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":138},{"x":-72,"y":124}],"textString":"\"TOut\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-100},{"x":-32,"y":-118}],"textString":"\"uRetDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-10},{"x":-28,"y":-28}],"textString":"\"uOutDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-30},{"x":-28,"y":-48}],"textString":"\"uOutDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-80},{"x":-12,"y":-98}],"textString":"\"uRetDamPhy_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-120},{"x":-32,"y":-138}],"textString":"\"uRetDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":110},{"x":96,"y":92}],"textString":"\"yOutDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":12},{"x":96,"y":-6}],"textString":"\"yRetDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":-88},{"x":96,"y":-106}],"textString":"\"yRetDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-260,"y":-280},{"x":240,"y":280}],"preserveAspectRatio":"false","initialScale":0.05}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":-2},{"x":220,"y":-250}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":58},{"x":220,"y":6}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":118},{"x":220,"y":66}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":258},{"x":220,"y":130}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":158},{"x":204,"y":138}],"textString":"\"Outdoor air\nconditions\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":52},{"x":298,"y":18}],"textString":"\"Freeze protection -\ndisable if stage1\nand above\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":-198},{"x":288,"y":-246}],"textString":"\"Damper position\nlimit assignments\nwith delays\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":84},{"x":214,"y":74}],"textString":"\"Supply fan status\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is a multi zone VAV AHU economizer enable/disable sequence\nbased on the Section 5.16.7 of the ASHRAE Guideline 36, May 2020. Additional\nconditions included in the sequence are: freeze protection (freeze protection\nstage 0-3, see Section 5.16.12), supply fan status (on or off, see Section 5.16.5).\n

\n

\nThe economizer is disabled whenever the outdoor air conditions\nexceed the economizer high limit setpoint.\nThis sequence allows for all device types listed in\nASHRAE 90.1-2013 and Title 24-2013.\n

\n

\nIn addition, the economizer gets disabled without a delay whenever any of the\nfollowing is true:\n

\n\n

\nThe following state machine chart illustrates the transitions between enabling and disabling:\n

\n

\n\\\"Image\n

\n

\nAfter the disable signal is activated, the following procedure is applied, in order to\nprevent pressure fluctuations in the HVAC system:\n

\n
    \n
  • \nThe return damper gets fully opened (yRetDam_max = uRetDamPhy_max and\nyRetDam_min = uRetDamPhy_max) for retDamFulOpeTim\ntime period, after which the return damper gets released to its minimum outdoor airflow control position\n(yRetDam_max = uRetDam_max and yRetDam_min = uRetDam_max).\n
  • \n
  • \nThe outdoor air damper is closed to its minimum outoor airflow control limit (yOutDam_max = uOutDam_min)\nafter a disDel time delay.\n
  • \n
\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\n
    \n
  • \nOctober 13, 2017, by Michael Wetter:
    \nAdded freeze protection that tracks mixed air temperature.\n
  • \n
  • \nAugust 3, 2017, by Michael Wetter:
    \nRemoved unrequired input into block and2 as this input\nwas always true if and2.u2 = true.\n
  • \n
  • \nJune 27, 2017, by Milica Grahovac:
    \nFirst implementation.\n
  • \n
\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"use_enthalpy":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"use_enthalpy","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Set to true to evaluate outdoor air (OA) enthalpy in addition to temperature","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Conditional\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Conditional\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delTOutHis":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delTOutHis","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"TemperatureDifference\""}}}}}],"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Delta between the temperature hysteresis high and low limit","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delEntHis":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delEntHis","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}],"equal":true,"expression":{"simple_expression":"1000"}}},"description":{"description_string":"Delta between the enthalpy hysteresis high and low limits","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"use_enthalpy"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"use_enthalpy"}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"retDamFulOpeTim":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"retDamFulOpeTim","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"s\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"Time\""}}}}}],"equal":true,"expression":{"simple_expression":"180"}}},"description":{"description_string":"Time period to keep RA damper fully open before releasing it for minimum outdoor airflow control\n at disable to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"disDel":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"disDel","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"s\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"Time\""}}}}}],"equal":true,"expression":{"simple_expression":"15"}}},"description":{"description_string":"Short time delay before closing the OA damper at disable to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"Outdoor air temperature","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":232},{"x":-260,"y":272}]},"iconTransformation":{"extent":[{"x":-140,"y":110},{"x":-100,"y":150}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":232},{"x":-260,"y":272}]},"iconTransformation":{"extent":[{"x":-140,"y":110},{"x":-100,"y":150}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Outdoor air enthalpy","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":152},{"x":-260,"y":192}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":152},{"x":-260,"y":192}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutCut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutCut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"OA temperature high limit cutoff. For differential dry bulb temperature condition use return air temperature measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":192},{"x":-260,"y":232}]},"iconTransformation":{"extent":[{"x":-140,"y":90},{"x":-100,"y":130}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":192},{"x":-260,"y":232}]},"iconTransformation":{"extent":[{"x":-140,"y":90},{"x":-100,"y":130}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutCut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutCut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"OA enthalpy high limit cutoff. For differential enthalpy use return air enthalpy measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":112},{"x":-260,"y":152}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":112},{"x":-260,"y":152}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uOutDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uOutDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum outdoor air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-98},{"x":-260,"y":-58}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-98},{"x":-260,"y":-58}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uOutDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uOutDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum outdoor air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-58},{"x":-260,"y":-18}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-58},{"x":-260,"y":-18}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-178},{"x":-260,"y":-138}]},"iconTransformation":{"extent":[{"x":-140,"y":-130},{"x":-100,"y":-90}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-178},{"x":-260,"y":-138}]},"iconTransformation":{"extent":[{"x":-140,"y":-130},{"x":-100,"y":-90}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-218},{"x":-260,"y":-178}]},"iconTransformation":{"extent":[{"x":-140,"y":-150},{"x":-100,"y":-110}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-218},{"x":-260,"y":-178}]},"iconTransformation":{"extent":[{"x":-140,"y":-150},{"x":-100,"y":-110}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDamPhy_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDamPhy_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Physical maximum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-138},{"x":-260,"y":-98}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-138},{"x":-260,"y":-98}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"u1SupFan":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"u1SupFan"},"description":{"description_string":"Supply fan proven on","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":62},{"x":-260,"y":102}]},"iconTransformation":{"extent":[{"x":-140,"y":10},{"x":-100,"y":50}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":62},{"x":-260,"y":102}]},"iconTransformation":{"extent":[{"x":-140,"y":10},{"x":-100,"y":50}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uFreProSta":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uFreProSta"},"description":{"description_string":"Freeze protection stage status signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":22},{"x":-260,"y":62}]},"iconTransformation":{"extent":[{"x":-140,"y":-10},{"x":-100,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":22},{"x":-260,"y":62}]},"iconTransformation":{"extent":[{"x":-140,"y":-10},{"x":-100,"y":30}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yOutDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yOutDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum outdoor air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":22},{"x":280,"y":62}]},"iconTransformation":{"extent":[{"x":100,"y":80},{"x":140,"y":120}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":22},{"x":280,"y":62}]},"iconTransformation":{"extent":[{"x":100,"y":80},{"x":140,"y":120}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yRetDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yRetDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum return air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-98},{"x":280,"y":-58}]},"iconTransformation":{"extent":[{"x":100,"y":-120},{"x":140,"y":-80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-98},{"x":280,"y":-58}]},"iconTransformation":{"extent":[{"x":100,"y":-120},{"x":140,"y":-80}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yRetDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yRetDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum return air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-38},{"x":280,"y":2}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-38},{"x":280,"y":2}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"truFalHol":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueFalseHold","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"truFalHol","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"trueHoldDuration","modification":{"equal":true,"expression":{"simple_expression":"600"}}}}}]}},"description":{"description_string":"Economizer should not be enabled or disabled within 10 minutes of change","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":182},{"x":40,"y":202}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":182},{"x":40,"y":202}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"andEnaDis":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"andEnaDis"},"description":{"description_string":"Check freeze protection stage and zone state","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":12},{"x":80,"y":32}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":12},{"x":80,"y":32}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutHigLimCutHig":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutHigLimCutHig","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"TemperatureDifference\""}}}}}],"equal":true,"expression":{"simple_expression":"0"}}},"description":{"description_string":"Hysteresis high limit cutoff"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutHigLimCutLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutHigLimCutLow","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutHig -delTOutHis"}}},"description":{"description_string":"Hysteresis low limit cutoff"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutHigLimCutHig":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutHigLimCutHig","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}],"equal":true,"expression":{"simple_expression":"0"}}},"description":{"description_string":"Hysteresis block high limit cutoff"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutHigLimCutLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutHigLimCutLow","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutHig -delEntHis"}}},"description":{"description_string":"Hysteresis block low limit cutoff"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"sub2":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Subtract","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"sub2"},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Add block determines difference between hOut and hOutCut","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":140},{"x":-180,"y":160}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":140},{"x":-180,"y":160}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"sub1":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Subtract","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"sub1"},"description":{"description_string":"Add block determines difference between TOut and TOutCut","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":220},{"x":-180,"y":240}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":220},{"x":-180,"y":240}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hysOutTem":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Hysteresis","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hysOutTem","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutLow"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutHig"}}}}}]}},"description":{"description_string":"Outdoor air temperature hysteresis for both fixed and differential dry bulb temperature cutoff conditions","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":220},{"x":-140,"y":240}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":220},{"x":-140,"y":240}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hysOutEnt":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Hysteresis","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hysOutEnt","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutLow"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutHig"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Outdoor air enthalpy hysteresis for both fixed and differential enthalpy cutoff conditions","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":140},{"x":-140,"y":160}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":140},{"x":-140,"y":160}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"outDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"outDamSwitch"},"description":{"description_string":"Set maximum OA damper position to minimum at disable (after a given time delay)","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":82,"y":-78},{"x":102,"y":-58}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":82,"y":-78},{"x":102,"y":-58}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"retDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"retDamSwitch"},"description":{"description_string":"Set minimum RA damper position to maximum at disable","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-176},{"x":0,"y":-156}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-176},{"x":0,"y":-156}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"maxRetDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"maxRetDamSwitch"},"description":{"description_string":"Keep maximum RA damper position at physical maximum for a short time period after disable signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-136},{"x":80,"y":-116}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-136},{"x":80,"y":-116}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"minRetDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"minRetDamSwitch"},"description":{"description_string":"Keep minimum RA damper position at physical maximum for a short time period after disable","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-178},{"x":80,"y":-158}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-178},{"x":80,"y":-158}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"not2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Not","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"not2"},"description":{"description_string":"Logical not that starts the timer at disable signal ","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-58},{"x":-40,"y":-38}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-58},{"x":-40,"y":-38}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and2"},"description":{"description_string":"Logical and","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":160,"y":-100},{"x":180,"y":-80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":160,"y":-100},{"x":180,"y":-80}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and1"},"description":{"description_string":"Check supply fan status","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":80},{"x":40,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":80},{"x":40,"y":100}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and3":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and3"},"description":{"description_string":"Check if delay time has been passed after economizer being disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":40,"y":-54},{"x":60,"y":-34}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":40,"y":-54},{"x":60,"y":-34}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"intEqu":{"type_specifier":"Buildings.Controls.OBC.CDL.Integers.Equal","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"intEqu"},"description":{"description_string":"Logical block to check if the freeze protection is deactivated","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-78,"y":32},{"x":-58,"y":52}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-78,"y":32},{"x":-58,"y":52}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delOutDamOsc":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delOutDamOsc","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"disDel"}}}}}]}},"description":{"description_string":"Small delay before closing the outdoor air damper to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-58},{"x":0,"y":-38}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-58},{"x":0,"y":-38}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delRetDam":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delRetDam","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"retDamFulOpeTim"}}}}}]}},"description":{"description_string":"Keep return damper open to its physical maximum for a short period of time before closing the outdoor air damper and resuming the maximum return air damper position, per G36 Part N7","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-108},{"x":0,"y":-88}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-108},{"x":0,"y":-88}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"not1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Not","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"not1"},"description":{"description_string":"Logical not","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-108},{"x":40,"y":-88}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-108},{"x":40,"y":-88}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"conInt":{"type_specifier":"Buildings.Controls.OBC.CDL.Integers.Sources.Constant","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"conInt","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeProtectionStages.stage0"}}}}}]}},"description":{"description_string":"Integer constant, stage 0","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-118,"y":12},{"x":-98,"y":32}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-118,"y":12},{"x":-98,"y":32}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"entSubst1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"entSubst1","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"not use_enthalpy"}},"description":{"description_string":"Deactivates outdoor air enthalpy condition if there is no enthalpy sensor","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":180},{"x":-140,"y":200}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":180},{"x":-140,"y":200}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"or2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Or","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"or2"},"description":{"description_string":"Check if either the temperature or the enthalpy condition is satisfied","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":182},{"x":-40,"y":202}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":182},{"x":-40,"y":202}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"}},"requiredReferences":{"connections":{"TOut":["sub1.u1"],"TOutCut":["sub1.u2"],"sub1.y":["hysOutTem.u"],"hOut":["sub2.u1"],"hOutCut":["sub2.u2"],"sub2.y":["hysOutEnt.u"],"uOutDam_min":["outDamSwitch.u1"],"uOutDam_max":["outDamSwitch.u3"],"uRetDamPhy_max":["maxRetDamSwitch.u1","minRetDamSwitch.u1"],"uRetDam_max":["maxRetDamSwitch.u3","retDamSwitch.u1"],"andEnaDis.y":["not2.u"],"maxRetDamSwitch.y":["yRetDam_max"],"and2.y":["maxRetDamSwitch.u2","minRetDamSwitch.u2"],"not2.y":["retDamSwitch.u2","and3.u1","delRetDam.u"],"uRetDam_min":["retDamSwitch.u3"],"retDamSwitch.y":["minRetDamSwitch.u3"],"truFalHol.y":["and1.u1"],"and1.y":["andEnaDis.u1"],"u1SupFan":["and1.u2"],"outDamSwitch.u2":["and3.y"],"and2.u1":["not2.y"],"and3.u2":["delOutDamOsc.y"],"delOutDamOsc.u":["not2.y"],"delRetDam.y":["not1.u"],"not1.y":["and2.u2"],"uFreProSta":["intEqu.u1"],"conInt.y":["intEqu.u2"],"intEqu.y":["andEnaDis.u2"],"outDamSwitch.y":["yOutDam_max"],"minRetDamSwitch.y":["yRetDam_min"],"or2.y":["truFalHol.u"],"hysOutTem.y":["or2.u1"],"hysOutEnt.y":["or2.u2"],"entSubst1.y":["or2.u2"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ExtendsClause_1.json b/test/reference/objects/test/FromModelica/ExtendsClause_1.json index accd349f..b4235602 100644 --- a/test/reference/objects/test/FromModelica/ExtendsClause_1.json +++ b/test/reference/objects/test/FromModelica/ExtendsClause_1.json @@ -1 +1 @@ -{"instances":{"ExtendsClause_1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Reals.PID","class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Ti","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}}],"long_class_specifier_identifier":"ExtendsClause_1","within":"FromModelica","compositionSpecifier":"public"}]}} \ No newline at end of file +{"instances":{"ExtendsClause_1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Reals.PID","class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Ti","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}}],"long_class_specifier_identifier":"ExtendsClause_1","within":"FromModelica","compositionSpecifier":"public"}]}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ExtendsClause_2.json b/test/reference/objects/test/FromModelica/ExtendsClause_2.json index 160a8e40..48bfa741 100644 --- a/test/reference/objects/test/FromModelica/ExtendsClause_2.json +++ b/test/reference/objects/test/FromModelica/ExtendsClause_2.json @@ -1 +1 @@ -{"instances":{"ExtendsClause_2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Reals.PID","class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Ti","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}}],"long_class_specifier_identifier":"ExtendsClause_2","within":"FromModelica","compositionSpecifier":"public"},{"name":"Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset","class_modification":[{"element_redeclaration":{"component_clause1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","component_declaration1":{"declaration":{"identifier":"onDelay","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"duration"}}}}}]}}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"duration","modification":{"equal":true,"expression":{"simple_expression":"300"}}}}}],"long_class_specifier_identifier":"ExtendsClause_2","within":"FromModelica","compositionSpecifier":"public"}]}} \ No newline at end of file +{"instances":{"ExtendsClause_2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Reals.PID","class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Ti","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}}],"long_class_specifier_identifier":"ExtendsClause_2","within":"FromModelica","compositionSpecifier":"public"},{"name":"Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset","class_modification":[{"element_redeclaration":{"component_clause1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","component_declaration1":{"declaration":{"identifier":"onDelay","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"duration"}}}}}]}}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"duration","modification":{"equal":true,"expression":{"simple_expression":"300"}}}}}],"long_class_specifier_identifier":"ExtendsClause_2","within":"FromModelica","compositionSpecifier":"public"}]}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ExtendsClause_3.json b/test/reference/objects/test/FromModelica/ExtendsClause_3.json index 3f1f089d..3036e98a 100644 --- a/test/reference/objects/test/FromModelica/ExtendsClause_3.json +++ b/test/reference/objects/test/FromModelica/ExtendsClause_3.json @@ -1 +1 @@ -{"instances":{"ExtendsClause_3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Constants","long_class_specifier_identifier":"ExtendsClause_3","within":"FromModelica","compositionSpecifier":"public"},{"name":"Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset","class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"duration","modification":{"equal":true,"expression":{"simple_expression":"300"}}}}}],"long_class_specifier_identifier":"ExtendsClause_3","within":"FromModelica","compositionSpecifier":"public"}]}} \ No newline at end of file +{"instances":{"ExtendsClause_3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Constants","long_class_specifier_identifier":"ExtendsClause_3","within":"FromModelica","compositionSpecifier":"public"},{"name":"Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset","class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"duration","modification":{"equal":true,"expression":{"simple_expression":"300"}}}}}],"long_class_specifier_identifier":"ExtendsClause_3","within":"FromModelica","compositionSpecifier":"public"}]}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json b/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json index facfac9f..282dbed8 100644 --- a/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json +++ b/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json @@ -1 +1 @@ -{"instances":{"MisplacedInfoWithComponent":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo","type":"long_class_specifier"},"bloPub":{"type_specifier":"Block1","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithComponent","single_component_list":{"declaration":{"identifier":"bloPub"},"description":{"description_string":"A public block","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"MisplacedInfoWithComponent":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo","type":"long_class_specifier"},"bloPub":{"type_specifier":"Block1","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithComponent","single_component_list":{"declaration":{"identifier":"bloPub"},"description":{"description_string":"A public block","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json b/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json index 08cb4549..6027cbad 100644 --- a/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json +++ b/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json @@ -1 +1 @@ -{"instances":{"MisplacedInfoWithEquation":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo","type":"long_class_specifier"},"k":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}},"description":{"description_string":"Constant gain"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"y1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"y1"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"y2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"y2"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":0,"y":-10},{"x":20,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":0,"y":-10},{"x":20,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"}},"requiredReferences":{"connections":{"u":["gain.u"],"gain.y":["y1"]}}} \ No newline at end of file +{"instances":{"MisplacedInfoWithEquation":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo","type":"long_class_specifier"},"k":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}},"description":{"description_string":"Constant gain"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"y1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"y1"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"y2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"y2"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":0,"y":-10},{"x":20,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":0,"y":-10},{"x":20,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"}},"requiredReferences":{"connections":{"u":["gain.u"],"gain.y":["y1"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json b/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json index d769305b..41d90fc8 100644 --- a/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json +++ b/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json @@ -1 +1 @@ -{"instances":{"MisplacedInfoWithParameter":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithParameter","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"MisplacedInfoWithParameter":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithParameter","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MyController.json b/test/reference/objects/test/FromModelica/MyController.json index 7cfa0055..77992421 100644 --- a/test/reference/objects/test/FromModelica/MyController.json +++ b/test/reference/objects/test/FromModelica/MyController.json @@ -1 +1 @@ -{"instances":{"MyController":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"add2":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"subCon1":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"subCon1"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"subCon2":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"}},"requiredReferences":{"connections":{"u1":["add2.u1"],"u2":["add2.u2","subCon1.u","subCon2.u"],"add2.y":["y"]}}} \ No newline at end of file +{"instances":{"MyController":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{},"cdl_annotations":{"generatePointlist":"true","controlledDevice":"\"My Device\""}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"add2":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"subCon1":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"subCon1"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}],"semantics":{},"cdl_annotations":{"generatePointlist":"true"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"subCon2":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"}},"requiredReferences":{"connections":{"u1":["add2.u1"],"u2":["add2.u2","subCon1.u","subCon2.u"],"add2.y":["y"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MyControllerWithExportAnnotation1.json b/test/reference/objects/test/FromModelica/MyControllerWithExportAnnotation1.json new file mode 100644 index 00000000..220edff0 --- /dev/null +++ b/test/reference/objects/test/FromModelica/MyControllerWithExportAnnotation1.json @@ -0,0 +1 @@ +{"instances":{"MyControllerWithExportAnnotation1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device2\""}}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{},"cdl_annotations":{"propagate":[{"instance":"\"subCon2\"","generatePointlist":"true","controlledDevice":"\"My Device\""},{"instance":"\"subCon1\"","generatePointlist":"false","controlledDevice":"\"My Device2\""}]}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithExportAnnotation1","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithExportAnnotation1","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithExportAnnotation1","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo"},"add2":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithExportAnnotation1","single_component_list":{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo"},"subCon1":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithExportAnnotation1","single_component_list":{"declaration":{"identifier":"subCon1"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"export","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"export","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}],"semantics":{},"cdl_annotations":{"generatePointlist":"true","export":"true"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo"},"subCon2":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithExportAnnotation1","single_component_list":{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo"}},"requiredReferences":{"connections":{"u1":["add2.u1"],"u2":["add2.u2","subCon1.u","subCon2.u"],"add2.y":["y"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json b/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json index 21887db4..de3d464d 100644 --- a/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json +++ b/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json @@ -1 +1 @@ -{"instances":{"MyControllerWithSemantics":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . "}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"@prefix Brick: .\n @prefix bldg: . \n"}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Temperature_Sensor ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Temperature_Sensor ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"bldg: a Brick:Temperature_Sensor .\n","en":" is a temperature sensor input\n"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}],"semantics":{"en":" is a temperature sensor input\n"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"add2":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"heaCoi":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"heaCoi"},"description":{"description_string":"Heating Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Heating_Coil ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a heating coil."}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Heating_Coil ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a heating coil."}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"bldg: a Brick:Heating_Coil .\n","en":" is a heating coil.\n"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"subCon2":{"type_specifier":"SubControllerWithSemantics","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Cooling Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"}},"requiredReferences":{"connections":{"u1":["add2.u1"],"u2":["add2.u2","heaCoi.u","subCon2.u"],"add2.y":["y"]}}} \ No newline at end of file +{"instances":{"MyControllerWithSemantics":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . "}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"@prefix Brick: .\n @prefix bldg: . \n"},"cdl_annotations":{"generatePointlist":"true","controlledDevice":"\"My Device\"","semantic":{"metadataLanguage":"\"Brick 1.3 text/turtle\""}}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Temperature_Sensor ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Temperature_Sensor ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"bldg: a Brick:Temperature_Sensor .\n","en":" is a temperature sensor input\n"},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"},"semantic":{"metadataLanguage":"\"Brick 1.3 text/turtle\"","naturalLanguage":"\"en\""}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}],"semantics":{"en":" is a temperature sensor input\n"},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"},"semantic":{"naturalLanguage":"\"en\""}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"add2":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"heaCoi":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"heaCoi"},"description":{"description_string":"Heating Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Heating_Coil ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a heating coil."}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Heating_Coil ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a heating coil."}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"bldg: a Brick:Heating_Coil .\n","en":" is a heating coil.\n"},"cdl_annotations":{"generatePointlist":"true","semantic":{"metadataLanguage":"\"Brick 1.3 text/turtle\"","naturalLanguage":"\"en\""}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"subCon2":{"type_specifier":"SubControllerWithSemantics","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Cooling Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"}},"requiredReferences":{"connections":{"u1":["add2.u1"],"u2":["add2.u2","heaCoi.u","subCon2.u"],"add2.y":["y"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/NoClassComment.json b/test/reference/objects/test/FromModelica/NoClassComment.json index ffbc9a79..c39e41f7 100644 --- a/test/reference/objects/test/FromModelica/NoClassComment.json +++ b/test/reference/objects/test/FromModelica/NoClassComment.json @@ -1 +1 @@ -{"instances":{"NoClassComment":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"NoClassComment","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"NoClassComment":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"NoClassComment","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/NoWithin.json b/test/reference/objects/test/FromModelica/NoWithin.json index 6aaa2c90..ed0efd80 100644 --- a/test/reference/objects/test/FromModelica/NoWithin.json +++ b/test/reference/objects/test/FromModelica/NoWithin.json @@ -1 +1 @@ -{"instances":{"FromModelica":{"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo","type":"long_class_specifier"},"one":{"type_prefix":"constant","type_specifier":"Integer","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"FromModelica","single_component_list":{"declaration":{"identifier":"one","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"An integer constant with value 1"}},"annotation":null,"semantics":{},"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"FromModelica":{"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo","type":"long_class_specifier"},"one":{"type_prefix":"constant","type_specifier":"Integer","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"FromModelica","single_component_list":{"declaration":{"identifier":"one","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"An integer constant with value 1"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Parameter1.json b/test/reference/objects/test/FromModelica/Parameter1.json index b3877a4f..b1502f64 100644 --- a/test/reference/objects/test/FromModelica/Parameter1.json +++ b/test/reference/objects/test/FromModelica/Parameter1.json @@ -1 +1 @@ -{"instances":{"Parameter1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter1","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"Parameter1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter1","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json b/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json index 3f8a1f5d..55706c52 100644 --- a/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json +++ b/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json @@ -1 +1 @@ -{"instances":{"Parameter1WithVendorAnnotation":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter1WithVendorAnnotation","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"Parameter1WithVendorAnnotation":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter1WithVendorAnnotation","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}}],"semantics":{},"cdl_annotations":{"haystack":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\"","brick":"\"xxxxx\"","point":"digital"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Parameter2.json b/test/reference/objects/test/FromModelica/Parameter2.json index 3ae8e815..26edbf37 100644 --- a/test/reference/objects/test/FromModelica/Parameter2.json +++ b/test/reference/objects/test/FromModelica/Parameter2.json @@ -1 +1 @@ -{"instances":{"Parameter2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo","type":"long_class_specifier"},"myPar1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myPar1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParNoValue":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParNoValue"},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParMin":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParMin","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParMax":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParMax","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParUnit":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParUnit","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInGroup":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInGroup"},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Gains\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Gains\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTab":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTab"},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTabInGroup1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTabInGroup1"},"description":{"description_string":"Some comment 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTabInGroup2":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTabInGroup2"},"description":{"description_string":"Some comment 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"Parameter2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo","type":"long_class_specifier"},"myPar1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myPar1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParNoValue":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParNoValue"},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParMin":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParMin","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParMax":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParMax","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParUnit":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParUnit","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInGroup":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInGroup"},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Gains\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Gains\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTab":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTab"},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTabInGroup1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTabInGroup1"},"description":{"description_string":"Some comment 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTabInGroup2":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTabInGroup2"},"description":{"description_string":"Some comment 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Parameter3.json b/test/reference/objects/test/FromModelica/Parameter3.json index 234c1f66..209be69c 100644 --- a/test/reference/objects/test/FromModelica/Parameter3.json +++ b/test/reference/objects/test/FromModelica/Parameter3.json @@ -1 +1 @@ -{"instances":{"Parameter3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo","type":"long_class_specifier"},"myPar1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter3","single_component_list":{"declaration":{"identifier":"myPar1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo"},"myParUnit":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Temperature","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter3","single_component_list":{"declaration":{"identifier":"myParUnit"},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"Parameter3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo","type":"long_class_specifier"},"myPar1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter3","single_component_list":{"declaration":{"identifier":"myPar1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo"},"myParUnit":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Temperature","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter3","single_component_list":{"declaration":{"identifier":"myParUnit"},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ParameterWithAttributes.json b/test/reference/objects/test/FromModelica/ParameterWithAttributes.json index 8148e16a..e585ccd6 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithAttributes.json +++ b/test/reference/objects/test/FromModelica/ParameterWithAttributes.json @@ -1 +1 @@ -{"instances":{"ParameterWithAttributes":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithAttributes","single_component_list":{"declaration":{"identifier":"kP","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"start","modification":{"equal":true,"expression":{"simple_expression":"0.2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"fixed","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"PressureDifference\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"Pa\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"nominal","modification":{"equal":true,"expression":{"simple_expression":"0.5"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"stateSelect","modification":{"equal":true,"expression":{"simple_expression":"StateSelect.default"}}}}}],"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"ParameterWithAttributes":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithAttributes","single_component_list":{"declaration":{"identifier":"kP","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"start","modification":{"equal":true,"expression":{"simple_expression":"0.2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"fixed","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"PressureDifference\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"Pa\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"nominal","modification":{"equal":true,"expression":{"simple_expression":"0.5"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"stateSelect","modification":{"equal":true,"expression":{"simple_expression":"StateSelect.default"}}}}}],"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json b/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json index 321c7c88..e174ad59 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json +++ b/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json @@ -1 +1 @@ -{"instances":{"ParameterWithDefaultName":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"testName\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithDefaultName","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"ParameterWithDefaultName":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"testName\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithDefaultName","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ParameterWithInfo.json b/test/reference/objects/test/FromModelica/ParameterWithInfo.json index 23226cd6..36de8c19 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithInfo.json +++ b/test/reference/objects/test/FromModelica/ParameterWithInfo.json @@ -1 +1 @@ -{"instances":{"ParameterWithInfo":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithInfo","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"ParameterWithInfo":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithInfo","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json b/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json index bda552c1..d0cb7c3c 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json +++ b/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json @@ -1 +1 @@ -{"instances":{"ParameterWithVendorAnnotationInInfo":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithVendorAnnotationInInfo","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"ParameterWithVendorAnnotationInInfo":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{"haystack":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\"","brick":"\"xxxxx\"","point":"digital"}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithVendorAnnotationInInfo","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/PointList.json b/test/reference/objects/test/FromModelica/PointList.json index c7001024..3163fa1b 100644 --- a/test/reference/objects/test/FromModelica/PointList.json +++ b/test/reference/objects/test/FromModelica/PointList.json @@ -1 +1 @@ -{"instances":{"PointList":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Test device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"poiLis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Input one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Input two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"y1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"y1"},"description":{"description_string":"Output one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]},"iconTransformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]},"iconTransformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"y2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"y2"},"description":{"description_string":"Output two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]},"iconTransformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]},"iconTransformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"con1":{"type_specifier":"MyController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"con1"},"description":{"description_string":"Subcontroller one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2.u\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":50},{"x":10,"y":70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2.u\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":50},{"x":10,"y":70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"con2":{"type_specifier":"MyController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"con2"},"description":{"description_string":"Subcontroller two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-70},{"x":10,"y":-50}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-70},{"x":10,"y":-50}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"}},"requiredReferences":{"connections":{"u1":["con1.u1","con2.u1"],"u2":["con1.u2","con2.u2"],"con1.y":["y2"],"con2.y":["y1"]}}} \ No newline at end of file +{"instances":{"PointList":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Test device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"poiLis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{},"cdl_annotations":{"generatePointlist":"true","controlledDevice":"\"Test device\""}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Input one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Input two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"false"},"trend":{"interval":"120","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"y1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"y1"},"description":{"description_string":"Output one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]},"iconTransformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]},"iconTransformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"y2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"y2"},"description":{"description_string":"Output two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]},"iconTransformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]},"iconTransformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"false"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"con1":{"type_specifier":"MyController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"con1"},"description":{"description_string":"Subcontroller one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2.u\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":50},{"x":10,"y":70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2.u\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":50},{"x":10,"y":70}]}}}}}],"semantics":{},"cdl_annotations":{"propagate":[{"instance":"\"subCon1\"","generatePointlist":"true"},{"instance":"\"subCon2\"","generatePointlist":"true"},{"instance":"\"subCon2.u\"","connection":{"hardwired":"true"},"trend":{"interval":"120","enable":"true"}}]},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"con2":{"type_specifier":"MyController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"con2"},"description":{"description_string":"Subcontroller two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-70},{"x":10,"y":-50}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-70},{"x":10,"y":-50}]}}}}}],"semantics":{},"cdl_annotations":{"generatePointlist":"true"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"}},"requiredReferences":{"connections":{"u1":["con1.u1","con2.u1"],"u2":["con1.u2","con2.u2"],"con1.y":["y2"],"con2.y":["y1"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/RemovableInputs.json b/test/reference/objects/test/FromModelica/RemovableInputs.json index cf03e876..67eb12c6 100644 --- a/test/reference/objects/test/FromModelica/RemovableInputs.json +++ b/test/reference/objects/test/FromModelica/RemovableInputs.json @@ -1 +1 @@ -{"instances":{"RemovableInputs":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo","type":"long_class_specifier"},"enaBlo":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"enaBlo","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Flag for enabling instance"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"have_winSen":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"have_winSen"},"description":{"description_string":"True: there is window status sensor"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"have_occSen":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"have_occSen"},"description":{"description_string":"True: there is occupancy sensor"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"u"},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Temperature input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"TOutWitDef":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"TOutWitDef","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Temperature input with specified default value","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-70},{"x":-100,"y":-30}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"default","modification":{"equal":true,"expression":{"simple_expression":"300.15"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-70},{"x":-100,"y":-30}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"default","modification":{"equal":true,"expression":{"simple_expression":"300.15"}}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"uWin":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"uWin"},"condition_attribute":{"expression":{"simple_expression":"have_winSen"}},"description":{"description_string":"Window opening status","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-100},{"x":-100,"y":-60}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-100},{"x":-100,"y":-60}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"nOcc":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"nOcc"},"condition_attribute":{"expression":{"simple_expression":"have_occSen"}},"description":{"description_string":"Occupancy","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Abs","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"abs"},"condition_attribute":{"expression":{"simple_expression":"not enaBlo"}},"description":{"description_string":"Instance could be conditional disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"RemovableInputs":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo","type":"long_class_specifier"},"enaBlo":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"enaBlo","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Flag for enabling instance"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"have_winSen":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"have_winSen"},"description":{"description_string":"True: there is window status sensor"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"have_occSen":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"have_occSen"},"description":{"description_string":"True: there is occupancy sensor"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"u"},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Temperature input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"TOutWitDef":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"TOutWitDef","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Temperature input with specified default value","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-70},{"x":-100,"y":-30}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"default","modification":{"equal":true,"expression":{"simple_expression":"300.15"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-70},{"x":-100,"y":-30}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"default","modification":{"equal":true,"expression":{"simple_expression":"300.15"}}}}}]}}}}],"semantics":{},"cdl_annotations":{"default":"300.15"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"uWin":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"uWin"},"condition_attribute":{"expression":{"simple_expression":"have_winSen"}},"description":{"description_string":"Window opening status","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-100},{"x":-100,"y":-60}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-100},{"x":-100,"y":-60}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"nOcc":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"nOcc"},"condition_attribute":{"expression":{"simple_expression":"have_occSen"}},"description":{"description_string":"Occupancy","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Abs","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"abs"},"condition_attribute":{"expression":{"simple_expression":"not enaBlo"}},"description":{"description_string":"Instance could be conditional disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/SubController.json b/test/reference/objects/test/FromModelica/SubController.json index db9973f6..cce4b99e 100644 --- a/test/reference/objects/test/FromModelica/SubController.json +++ b/test/reference/objects/test/FromModelica/SubController.json @@ -1 +1 @@ -{"instances":{"SubController":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Sub Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"subCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"SubController","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"SubController","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"SubController":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Sub Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"subCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{},"cdl_annotations":{"generatePointlist":"true","controlledDevice":"\"Sub Device\""}},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"SubController","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"SubController","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json b/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json index 9e6ea5fa..8dd46933 100644 --- a/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json +++ b/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json @@ -1 +1 @@ -{"instances":{"SubControllerWithSemantics":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Sub Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"subCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . "}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . \n"}},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"SubControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"SubControllerWithSemantics","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"SubControllerWithSemantics":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Sub Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"subCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . "}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . \n"},"cdl_annotations":{"semantic":{"metadataLanguage":"\"Brick 1.3 text/turtle\""}}},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"SubControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"SubControllerWithSemantics","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_1.json b/test/reference/objects/test/FromModelica/TestEvaluation_1.json index 730c3fc0..a4198858 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_1.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_1.json @@ -1 +1 @@ -{"instances":{"TestEvaluation_1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uses","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"Buildings","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"version","modification":{"equal":true,"expression":{"simple_expression":"\"8.0.0\""}}}}}]}}}}]}}}}],"semantics":{}},"k1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_1","single_component_list":{"declaration":{"identifier":"k1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Constant output value"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo"},"con":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Sources.Constant","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_1","single_component_list":{"declaration":{"identifier":"con","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k1"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":10},{"x":0,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":10},{"x":0,"y":30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"TestEvaluation_1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uses","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"Buildings","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"version","modification":{"equal":true,"expression":{"simple_expression":"\"8.0.0\""}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"k1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_1","single_component_list":{"declaration":{"identifier":"k1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Constant output value"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo"},"con":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Sources.Constant","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_1","single_component_list":{"declaration":{"identifier":"con","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k1"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":10},{"x":0,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":10},{"x":0,"y":30}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_2.json b/test/reference/objects/test/FromModelica/TestEvaluation_2.json index b97376e5..15bae3ff 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_2.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_2.json @@ -1 +1 @@ -{"instances":{"TestEvaluation_2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uses","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"Buildings","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"version","modification":{"equal":true,"expression":{"simple_expression":"\"8.0.0\""}}}}}]}}}}]}}}}],"semantics":{}},"uLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"uLow","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}],"equal":true,"expression":{"simple_expression":"0.5"}}},"description":{"description_string":"if y=true and uuHigh, switch to y=true"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-118,"y":-20},{"x":-78,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-118,"y":-20},{"x":-78,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Boolean output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":80,"y":-20},{"x":120,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":80,"y":-20},{"x":120,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"hys":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Hysteresis","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"hys","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"uLow"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"uHigh"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"}},"requiredReferences":{"connections":{"hys.u":["u"],"hys.y":["y"]}}} \ No newline at end of file +{"instances":{"TestEvaluation_2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uses","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"Buildings","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"version","modification":{"equal":true,"expression":{"simple_expression":"\"8.0.0\""}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"uLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"uLow","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}],"equal":true,"expression":{"simple_expression":"0.5"}}},"description":{"description_string":"if y=true and uuHigh, switch to y=true"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-118,"y":-20},{"x":-78,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-118,"y":-20},{"x":-78,"y":20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Boolean output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":80,"y":-20},{"x":120,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":80,"y":-20},{"x":120,"y":20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"hys":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Hysteresis","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"hys","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"uLow"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"uHigh"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"}},"requiredReferences":{"connections":{"hys.u":["u"],"hys.y":["y"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_3.json b/test/reference/objects/test/FromModelica/TestEvaluation_3.json index 583ff53d..d0162e4c 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_3.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_3.json @@ -1 +1 @@ -{"instances":{"TestEvaluation_3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"k1":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"k1","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Constant output value"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"k2":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"k2","modification":{"equal":true,"expression":{"simple_expression":"not k1"}}}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"con":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"con","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k2"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"not k1"}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":10},{"x":10,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":10},{"x":10,"y":30}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"con1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"con1","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k1"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-30},{"x":12,"y":-10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-30},{"x":12,"y":-10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"TestEvaluation_3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"k1":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"k1","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Constant output value"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"k2":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"k2","modification":{"equal":true,"expression":{"simple_expression":"not k1"}}}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"con":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"con","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k2"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"not k1"}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":10},{"x":10,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":10},{"x":10,"y":30}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"con1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"con1","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k1"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-30},{"x":12,"y":-10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-30},{"x":12,"y":-10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_4.json b/test/reference/objects/test/FromModelica/TestEvaluation_4.json index fa46c4a9..4484879e 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_4.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_4.json @@ -1 +1 @@ -{"instances":{"TestEvaluation_4":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"controllerTypeCooCoi":{"type_prefix":"parameter","type_specifier":"Buildings.Controls.OBC.CDL.Types.SimpleController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"controllerTypeCooCoi","modification":{"equal":true,"expression":{"simple_expression":"Buildings.Controls.OBC.CDL.Types.SimpleController.PI"}}},"description":{"description_string":"Type of controller"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"kCooCoi":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"kCooCoi","modification":{"equal":true,"expression":{"simple_expression":"0.1"}}},"description":{"description_string":"Gain for cooling coil control loop signal"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TiCooCoi":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TiCooCoi","modification":{"equal":true,"expression":{"simple_expression":"900"}}},"description":{"description_string":"Time constant of integrator block for cooling coil control loop signal"}},"annotation":null,"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TSupCooSet":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TSupCooSet"},"description":{"description_string":"Cooling supply air temperature setpoint","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TAirSup":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TAirSup"},"description":{"description_string":"Supply air temperature measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":0},{"x":-100,"y":40}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":0},{"x":-100,"y":40}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"uZonSta":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"uZonSta"},"description":{"description_string":"Zone state","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"u1SupFan":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"u1SupFan"},"description":{"description_string":"Supply fan proven on","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-98},{"x":-100,"y":-58}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-98},{"x":-100,"y":-58}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"yCooCoi":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"yCooCoi"},"description":{"description_string":"Cooling coil position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"cooCoi":{"type_specifier":"Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.CoolingCoil","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"cooCoi","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"controllerTypeCooCoi","modification":{"equal":true,"expression":{"simple_expression":"controllerTypeCooCoi"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"kCooCoi","modification":{"equal":true,"expression":{"simple_expression":"kCooCoi"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"TiCooCoi","modification":{"equal":true,"expression":{"simple_expression":"TiCooCoi"}}}}}]}},"description":{"description_string":"Cooling coil control","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"}},"requiredReferences":{"connections":{"cooCoi.TSupCooSet":["TSupCooSet"],"cooCoi.TAirSup":["TAirSup"],"cooCoi.uZonSta":["uZonSta"],"cooCoi.u1SupFan":["u1SupFan"],"cooCoi.yCooCoi":["yCooCoi"]}}} \ No newline at end of file +{"instances":{"TestEvaluation_4":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"controllerTypeCooCoi":{"type_prefix":"parameter","type_specifier":"Buildings.Controls.OBC.CDL.Types.SimpleController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"controllerTypeCooCoi","modification":{"equal":true,"expression":{"simple_expression":"Buildings.Controls.OBC.CDL.Types.SimpleController.PI"}}},"description":{"description_string":"Type of controller"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"kCooCoi":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"kCooCoi","modification":{"equal":true,"expression":{"simple_expression":"0.1"}}},"description":{"description_string":"Gain for cooling coil control loop signal"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TiCooCoi":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TiCooCoi","modification":{"equal":true,"expression":{"simple_expression":"900"}}},"description":{"description_string":"Time constant of integrator block for cooling coil control loop signal"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TSupCooSet":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TSupCooSet"},"description":{"description_string":"Cooling supply air temperature setpoint","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TAirSup":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TAirSup"},"description":{"description_string":"Supply air temperature measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":0},{"x":-100,"y":40}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":0},{"x":-100,"y":40}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"uZonSta":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"uZonSta"},"description":{"description_string":"Zone state","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"u1SupFan":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"u1SupFan"},"description":{"description_string":"Supply fan proven on","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-98},{"x":-100,"y":-58}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-98},{"x":-100,"y":-58}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"yCooCoi":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"yCooCoi"},"description":{"description_string":"Cooling coil position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"cooCoi":{"type_specifier":"Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.CoolingCoil","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"cooCoi","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"controllerTypeCooCoi","modification":{"equal":true,"expression":{"simple_expression":"controllerTypeCooCoi"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"kCooCoi","modification":{"equal":true,"expression":{"simple_expression":"kCooCoi"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"TiCooCoi","modification":{"equal":true,"expression":{"simple_expression":"TiCooCoi"}}}}}]}},"description":{"description_string":"Cooling coil control","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"}},"requiredReferences":{"connections":{"cooCoi.TSupCooSet":["TSupCooSet"],"cooCoi.TAirSup":["TAirSup"],"cooCoi.uZonSta":["uZonSta"],"cooCoi.u1SupFan":["u1SupFan"],"cooCoi.yCooCoi":["yCooCoi"]}}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/VariableModification.json b/test/reference/objects/test/FromModelica/VariableModification.json index f9cb10a5..379d2aa2 100644 --- a/test/reference/objects/test/FromModelica/VariableModification.json +++ b/test/reference/objects/test/FromModelica/VariableModification.json @@ -1 +1 @@ -{"instances":{"VariableModification":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo","type":"long_class_specifier"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"Temperature input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Abs","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"abs","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"u","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"y","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}}]}}}}]}},"description":{"description_string":"Instance with modified input and output attributes","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"VariableModification":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo","type":"long_class_specifier"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"Temperature input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Abs","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"abs","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"u","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"y","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}}]}}}}]}},"description":{"description_string":"Instance with modified input and output attributes","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/WithCDLElementary.json b/test/reference/objects/test/FromModelica/WithCDLElementary.json index ff2e7d93..04140b62 100644 --- a/test/reference/objects/test/FromModelica/WithCDLElementary.json +++ b/test/reference/objects/test/FromModelica/WithCDLElementary.json @@ -1 +1 @@ -{"instances":{"WithCDLElementary":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{}},"gre":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Greater","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"gre"},"description":{"description_string":"CDL elementary block with inside class","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-212,"y":-12},{"x":-172,"y":28}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-212,"y":-12},{"x":-172,"y":28}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":-184,"y":-4},{"x":-144,"y":36}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":-184,"y":-4},{"x":-144,"y":36}]}}}}}],"semantics":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"WithCDLElementary":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"gre":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Greater","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"gre"},"description":{"description_string":"CDL elementary block with inside class","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-212,"y":-12},{"x":-172,"y":28}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-212,"y":-12},{"x":-172,"y":28}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":-184,"y":-4},{"x":-144,"y":36}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":-184,"y":-4},{"x":-144,"y":36}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/package.json b/test/reference/objects/test/FromModelica/package.json index e7699777..26c4b6b9 100644 --- a/test/reference/objects/test/FromModelica/package.json +++ b/test/reference/objects/test/FromModelica/package.json @@ -1 +1 @@ -{"instances":{"FromModelica":{"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo","type":"long_class_specifier"},"one":{"type_prefix":"constant","type_specifier":"Integer","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"FromModelica","single_component_list":{"declaration":{"identifier":"one","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"An integer constant with value 1"}},"annotation":null,"semantics":{},"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo"}},"requiredReferences":{}} \ No newline at end of file +{"instances":{"FromModelica":{"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo","type":"long_class_specifier"},"one":{"type_prefix":"constant","type_specifier":"Integer","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"FromModelica","single_component_list":{"declaration":{"identifier":"one","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"An integer constant with value 1"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo"}},"requiredReferences":{}} \ No newline at end of file diff --git a/test/reference/raw-json/test/FromModelica/MyControllerWithExportAnnotation1.json b/test/reference/raw-json/test/FromModelica/MyControllerWithExportAnnotation1.json new file mode 100644 index 00000000..c05d8746 --- /dev/null +++ b/test/reference/raw-json/test/FromModelica/MyControllerWithExportAnnotation1.json @@ -0,0 +1 @@ +{"within":"FromModelica","final_class_definitions":[{"is_final":false,"class_definition":{"encapsulated":false,"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"MyControllerWithExportAnnotation1","string_comment":"\"My controller with export annotation in 1 CDL block\"","composition":{"element_list":{"elements":[{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealInput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"u1"},"comment":{"string_comment":"\"Real input 1\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"iconTransformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":80,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"__cdl"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"connection"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"hardwired"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"trend"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"interval"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"enable"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealInput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"u2"},"comment":{"string_comment":"\"Real input 2\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"iconTransformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":80,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"__cdl"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"connection"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"hardwired"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"trend"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"interval"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"enable"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealOutput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"y"},"comment":{"string_comment":"\"Real output\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"iconTransformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"__cdl"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"connection"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"hardwired"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"trend"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"interval"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"enable"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Reals"},{"dot_op":true,"identifier":"Add"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"add2"},"comment":{"string_comment":"\"Add two real inputs\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"SubController"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"subCon1"},"comment":{"string_comment":"\"Sub controller\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":50,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":30,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"__cdl"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"generatePointlist"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"export"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"SubController"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"subCon2"},"comment":{"string_comment":"\"Sub controller\"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":90,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":10,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":70,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}}]},"element_sections":[{"equation_section":{"initial":false,"equations":[{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"u1"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":6,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":12,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":6,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"u2"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":6,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":12,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":6,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"y"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":12,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"u2"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"subCon1"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":12,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"u2"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"subCon2"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":120,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":40,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":60,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":80,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":12,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":80,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}],"annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"__cdl"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"propagate"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"instance"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"subCon2\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"generatePointlist"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":true,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"controlledDevice"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"My Device\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"propagate"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"instance"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"subCon1\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"generatePointlist"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":true,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"controlledDevice"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"My Device2\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"defaultComponentName"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"myCon\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Icon"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"coordinateSystem"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"preserveAspectRatio"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":true,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"graphics"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"function_name":{"name_parts":[{"dot_op":false,"identifier":"Rectangle"}]},"der":false,"initial":false,"function_call_args":{"function_arguments":{"named_arguments":{"named_argument":{"identifier":"extent","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}},"named_arguments":{"named_argument":{"identifier":"lineColor","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}},"named_arguments":{"named_argument":{"identifier":"fillColor","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":255,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":255,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":255,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}},"named_arguments":{"named_argument":{"identifier":"fillPattern","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"component_reference":{"component_reference_parts":[{"dot_op":false,"identifier":"FillPattern"},{"dot_op":true},{"dot_op":false,"identifier":"Solid"}]},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}}}}}}},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"function_name":{"name_parts":[{"dot_op":false,"identifier":"Text"}]},"der":false,"initial":false,"function_call_args":{"function_arguments":{"named_arguments":{"named_argument":{"identifier":"lineColor","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":255,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}},"named_arguments":{"named_argument":{"identifier":"extent","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":100,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":140,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}},"named_arguments":{"named_argument":{"identifier":"textString","value":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"primary_string":"\"%name\"","is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}}}}}},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Diagram"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"coordinateSystem"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"preserveAspectRatio"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":true,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}},"is_extends":false}}}}],"modelicaFile":"test/FromModelica/MyControllerWithExportAnnotation1.mo","checksum":"f97d817f9acd902b0ffba91a3112781e"} \ No newline at end of file From 76d49faa394b98fe4f845447ba891dbcabeed938 Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Thu, 8 Feb 2024 07:38:08 -0800 Subject: [PATCH 11/25] adding attributes to cxf --- Makefile | 4 +- README.md | 2 +- app.js | 2 +- lib/objectExtractor.js | 127 +++++++++++++++++++++++++++++++--- lib/s231ClassesProperties.ttl | 5 -- lib/semanticExtractor.js | 4 +- package.json | 3 + 7 files changed, 127 insertions(+), 20 deletions(-) diff --git a/Makefile b/Makefile index 7e0a6ea1..9f236bd9 100644 --- a/Makefile +++ b/Makefile @@ -43,8 +43,8 @@ generate-reference-output: (for ff in `find . -name '*.mo'`; do \ node app.js -l warn -f $${ff} -o raw-json -d ./test/reference; \ node app.js -l warn -f $${ff} -o json -d ./test/reference; \ - node app.js -l warn -f $${ff} -o semantic -d ./test/reference; \ - node app.js -l warn -f $${ff} -o cxf -d ./test/reference; \ + node app.js -l warn -f $${ff} -o semantic -d ./test/reference -p;\ + node app.js -l warn -f $${ff} -o cxf -d ./test/reference -p;\ done) clean-node-packages: diff --git a/README.md b/README.md index 1b0e5c90..bcbfb319 100644 --- a/README.md +++ b/README.md @@ -112,7 +112,7 @@ Specify the output directory. The default option is the current directory. ##### --prettyPrint / -p -Boolean flag to specify if prettyprint the JSON output. The default option is `false`. +If `-p` flag is specified, the JSON output conforms to prettyprint. The default option is `false`. ## 4. JSON Schemas diff --git a/app.js b/app.js index 5a96965b..6c00a26c 100644 --- a/app.js +++ b/app.js @@ -58,7 +58,7 @@ parser.addArgument( ['-p', '--prettyPrint'], { help: 'Pretty print JSON output.', - defaultValue: 'false' + action: 'storeTrue' } ) diff --git a/lib/objectExtractor.js b/lib/objectExtractor.js index 2fad4972..77a52a62 100644 --- a/lib/objectExtractor.js +++ b/lib/objectExtractor.js @@ -299,7 +299,7 @@ function extractFromElementList (elementList, longClassSpecifierIdentifier, full identifier2 = classSpecifier.long_class_specifier.identifier dict.annotation = classSpecifier.long_class_specifier.composition.annotation dict.semantics = extractSemanticsFromAnnotations(dict.annotation, identifier2) - dictIdentifier.cdl_annotations = extractCdlAnnotations(dict.annotation) + dict.cdl_annotations = extractCdlAnnotations(dict.annotation) classDefinitionInstance[identifier2] = dict } else if ('short_class_specifier' in classSpecifier) { @@ -407,8 +407,8 @@ function parseArraySubscripts (arraySubscripts) { return '[' + arraySubscripts[0].expression.simple_expression + ']' } -function parseModifications(modifications) { - var outputDict = {} +function parseModifications (modifications) { + let outputDict = {} if (Object.keys(modifications).length > 0) { Object.keys(modifications).forEach(modificationKey => { const classModifications = modifications[modificationKey] @@ -422,16 +422,16 @@ function parseModifications(modifications) { eleDict[eleKey] = mod.expression.simple_expression } else { eleDict[eleKey] = parseModifications(mod) - } + } if (eleKey !== 'propagate') { outputDict = Object.assign({}, outputDict, eleDict) - } else { + } else { if (outputDict.propagate === undefined) { - outputDict['propagate'] = [eleDict[eleKey]] + outputDict.propagate = [eleDict[eleKey]] } else { const existingPropagateList = outputDict.propagate existingPropagateList.push(eleDict[eleKey]) - outputDict['propagate'] = existingPropagateList + outputDict.propagate = existingPropagateList } } }) @@ -441,8 +441,8 @@ function parseModifications(modifications) { return outputDict } -function extractCdlAnnotations(annotation) { - var cdlAnnotations = {} +function extractCdlAnnotations (annotation) { + let cdlAnnotations = {} if (annotation !== null && annotation !== undefined) { annotation.forEach(singleAnnotation => { const annotationName = singleAnnotation.element_modification_or_replaceable.element_modification.name @@ -516,6 +516,7 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore const cxfPrefix = rdflib.Namespace('seq:') const s231Ns = rdflib.Namespace('https://data.ashrae.org/S231P#') const rdfNs = rdflib.Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#') + const qudt = rdflib.Namespace('http://qudt.org/schema/qudt#') const uri = blockName + '.jsonld' @@ -550,6 +551,7 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore const instanceNode = cxfPrefix(`${className}#${instance}`) const blockNode = cxfPrefix(`${className}`) const typeSpecifier = instanceDict.type_specifier + graph.add(instanceNode, s231Ns('label'), instance) if (instanceDict.type_prefix === 'parameter') { graph.add(blockNode, s231Ns('hasParameter'), instanceNode) @@ -586,6 +588,59 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore } } newInstanceDict.cxfNode = instanceNode + // console.log(instanceDict) + if ('single_component_list' in instanceDict) { + if ('description' in instanceDict.single_component_list) { + if ('description_string' in instanceDict.single_component_list.description) { + const descriptionString = instanceDict.single_component_list.description.description_string + graph.add(instanceNode, s231Ns('description'), descriptionString) + } + } + if ('declaration' in instanceDict.single_component_list) { + if ('modification' in instanceDict.single_component_list.declaration) { + const mod = instanceDict.single_component_list.declaration.modification + const modDict = parseModification(mod, typeSpecifier) + console.log(modDict) + Object.keys(modDict).forEach(key => { + if (key === 'value') { + graph.add(instanceNode, s231Ns('value'), modDict.value) + } else { + const value = modDict[key].value + // TODO: handle final + // const final = modDict[key].final ? true: false + if (['start', 'nominal', 'fixed', 'instantiate', 'min', 'max'].includes(key)) { + graph.add(instanceNode, s231Ns(key), value) + } + if (key === 'unit') { + // TODO: check qudt class name + graph.add(instanceNode, qudt('hasUnit'), qudt(value)) + } + if (key === 'quantity') { + // TODO: check qudt class name + graph.add(instanceNode, qudt('hasQuantityKind'), qudt(value)) + } + } + }) + } + } + } + if ('compositionSpecifier' in instanceDict) { + const compositionSpecifier = instanceDict.compositionSpecifier + if (compositionSpecifier === 'public' || compositionSpecifier === 'protected') { + graph.add(instanceNode, s231Ns('accessSpecifier'), compositionSpecifier) + } + } + if ('annotation' in instanceDict && instanceDict.annotation !== null && instanceDict.annotation !== undefined && instanceDict.annotation.length > 0) { + instanceDict.annotation.forEach(eleModRep => { + if ('element_modification_or_replaceable' in eleModRep) { + if ('element_modification' in eleModRep.element_modification_or_replaceable) { + const graphicalObj = eleModRep.element_modification_or_replaceable.element_modification + const graphicalObjStr = JSON.stringify(graphicalObj) + graph.add(instanceNode, s231Ns('graphics'), graphicalObjStr) + } + } + }) + } } newInstances[instance] = newInstanceDict }) @@ -626,6 +681,60 @@ function getInstanceNode (element, cxfPrefix, newInstances) { return node } +function parseModification (mod, typeSpecifier = '') { + let res = {} + if ('equal' in mod && mod.equal) { + let value = mod.expression.simple_expression + if (typeSpecifier === 'Real' || typeSpecifier === 'Integer' || typeSpecifier.endsWith('RealInput') || typeSpecifier.endsWith('RealOutput') || typeSpecifier.endsWith('IntegerInput') || typeSpecifier.endsWith('IntegerOutput')) { + res.value = Number(value) + } else if (typeSpecifier === 'Boolean' || typeSpecifier.endsWith('BooleanInput') || typeSpecifier.endsWith('BooleanOutput')) { + res.value = Boolean(value) + } else { + if (typeof value === 'string') { + if (isNaN(Number(value))) { + value = value.replace(/"/g, '') + value = value.replace(/'/g, '') + if (value === 'true') { + res.value = true + } else if (value === 'false') { + res.value = false + } else { + res.value = value + } + } else { + res[value] = Number(value) + } + } + } + } + let res2 + if ('class_modification' in mod) { + res2 = parseClassModification(mod.class_modification) + } + res = Object.assign({}, res, res2) + return res +} + +function parseClassModification (classMod) { + const res = {} + classMod.forEach(eleModRep => { + if ('element_modification_or_replaceable' in eleModRep) { + if ('element_modification' in eleModRep.element_modification_or_replaceable) { + const eleModName = eleModRep.element_modification_or_replaceable.element_modification.name + let modDict + if ('modification' in eleModRep.element_modification_or_replaceable.element_modification) { + modDict = parseModification(eleModRep.element_modification_or_replaceable.element_modification.modification) + } + res[eleModName] = modDict + if ('final' in eleModRep.element_modification_or_replaceable && eleModRep.element_modification_or_replaceable.final) { + res[eleModName].final = true + } + } + } + }) + return res +} + module.exports.extractAllObjects = extractAllObjects module.exports.updateConnections = updateConnections module.exports.updateRequiredReferences = updateRequiredReferences diff --git a/lib/s231ClassesProperties.ttl b/lib/s231ClassesProperties.ttl index 2f0b39a5..67632879 100644 --- a/lib/s231ClassesProperties.ttl +++ b/lib/s231ClassesProperties.ttl @@ -70,11 +70,6 @@ S231P:InputConnector rdfs:comment "The path to the graphical representation of the input connector" ; sh:datatype xsd:string ; ] ; - sh:property [ - sh:path S231P:name ; - rdfs:comment "The name assigned to the input connector" ; - sh:datatype xsd:string ; - ] ; sh:property [ sh:path S231P:label ; rdfs:comment "The label assigned to the input connector" ; diff --git a/lib/semanticExtractor.js b/lib/semanticExtractor.js index 50068a6f..b83a049f 100644 --- a/lib/semanticExtractor.js +++ b/lib/semanticExtractor.js @@ -56,7 +56,7 @@ function updateInstancesKey (parent, instances) { } else if (parent.endsWith('.')) { parent = parent.slice(0, -1) } - if (instances === {} || instances === undefined || Object.keys(instances) === 0) { + if (instances === null || instances === undefined || Object.keys(instances) === 0) { return instances } const keys = Object.keys(instances) @@ -73,7 +73,7 @@ function updateConnectionsIdentifiers (parent, connections) { } else if (parent.endsWith('.')) { parent = parent.slice(0, -1) } - if (connections === {} || connections === undefined || Object.keys(connections) === 0) { + if (connections === null || connections === undefined || Object.keys(connections) === 0) { return connections } const keys = Object.keys(connections) diff --git a/package.json b/package.json index 346cc955..6ef4316f 100644 --- a/package.json +++ b/package.json @@ -26,10 +26,13 @@ "mathjs": "^11.5.0", "minimist": "^1.2.0", "mustache": "^2.3.0", + "n3": "^1.17.2", "npm": "^9.8.1", "nyc": "^15.1.0", "promise-fs": "^1.3.0", + "rdf-parse": "^2.3.2", "rdflib": "^2.2.32", + "streamify-string": "^1.0.1", "winston": "2.4.5" }, "devDependencies": { From 8f8537b7d2d8476b4a3a2e4f7b596b68e293861b Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Thu, 8 Feb 2024 07:55:27 -0800 Subject: [PATCH 12/25] fixing errors and updating reference tests --- lib/objectExtractor.js | 29 +- .../cxf/test/FromModelica/Block1.jsonld | 8 +- .../test/FromModelica/BlockInputOutput.jsonld | 34 +- .../test/FromModelica/BlockWithBlock1.jsonld | 34 +- .../test/FromModelica/ConditionalBlock.jsonld | 58 +- .../FromModelica/CustomPWithLimiter.jsonld | 102 +- .../test/FromModelica/DynamicTextColor.jsonld | 23 +- .../test/FromModelica/EmptyEquation.jsonld | 8 +- .../cxf/test/FromModelica/Enable.jsonld | 822 ++- .../MisplacedInfoWithComponent.jsonld | 23 +- .../MisplacedInfoWithEquation.jsonld | 80 +- .../MisplacedInfoWithParameter.jsonld | 26 +- .../cxf/test/FromModelica/MyController.jsonld | 114 +- .../MyControllerWithExportAnnotation1.jsonld | 114 +- .../MyControllerWithSemantics.jsonld | 114 +- .../test/FromModelica/NoClassComment.jsonld | 25 +- .../cxf/test/FromModelica/NoWithin.jsonld | 28 +- .../cxf/test/FromModelica/Parameter1.jsonld | 25 +- .../Parameter1WithVendorAnnotation.jsonld | 26 +- .../cxf/test/FromModelica/Parameter2.jsonld | 133 +- .../cxf/test/FromModelica/Parameter3.jsonld | 36 +- .../ParameterWithAttributes.jsonld | 43 +- .../ParameterWithDefaultName.jsonld | 25 +- .../FromModelica/ParameterWithInfo.jsonld | 25 +- ...ParameterWithVendorAnnotationInInfo.jsonld | 25 +- .../cxf/test/FromModelica/PointList.jsonld | 130 +- .../test/FromModelica/RemovableInputs.jsonld | 146 +- .../test/FromModelica/SubController.jsonld | 40 +- .../SubControllerWithSemantics.jsonld | 40 +- .../test/FromModelica/TestEvaluation_1.jsonld | 35 +- .../test/FromModelica/TestEvaluation_2.jsonld | 88 +- .../test/FromModelica/TestEvaluation_3.jsonld | 61 +- .../test/FromModelica/TestEvaluation_4.jsonld | 151 +- .../FromModelica/VariableModification.jsonld | 54 +- .../FromModelica/WithCDLElementary.jsonld | 45 +- .../cxf/test/FromModelica/package.jsonld | 28 +- .../SingleZone/VAV/SetPoints/CoolingCoil.json | 1869 ++++++ .../Buildings/Controls/OBC/CDL/Constants.json | 403 ++ .../Controls/OBC/CDL/Integers/Equal.json | 398 ++ .../OBC/CDL/Integers/Sources/Constant.json | 358 + .../OBC/CDL/Interfaces/BooleanInput.json | 238 + .../OBC/CDL/Interfaces/BooleanOutput.json | 238 + .../OBC/CDL/Interfaces/IntegerInput.json | 238 + .../OBC/CDL/Interfaces/IntegerOutput.json | 238 + .../OBC/CDL/Interfaces/RealInput.json | 238 + .../OBC/CDL/Interfaces/RealOutput.json | 234 + .../Controls/OBC/CDL/Interfaces/package.json | 225 + .../Controls/OBC/CDL/Logical/And.json | 381 ++ .../Controls/OBC/CDL/Logical/Not.json | 297 + .../Controls/OBC/CDL/Logical/Or.json | 381 ++ .../OBC/CDL/Logical/Sources/Constant.json | 381 ++ .../Controls/OBC/CDL/Logical/TrueDelay.json | 735 ++ .../OBC/CDL/Logical/TrueFalseHold.json | 2566 +++++++ .../OBC/CDL/Logical/TrueHoldWithReset.json | 1213 ++++ .../Buildings/Controls/OBC/CDL/Reals/Abs.json | 426 ++ .../Buildings/Controls/OBC/CDL/Reals/Add.json | 416 ++ .../Controls/OBC/CDL/Reals/Derivative.json | 782 +++ .../Controls/OBC/CDL/Reals/Greater.json | 1734 +++++ .../Controls/OBC/CDL/Reals/Hysteresis.json | 794 +++ .../OBC/CDL/Reals/IntegratorWithReset.json | 584 ++ .../Controls/OBC/CDL/Reals/Limiter.json | 561 ++ .../Buildings/Controls/OBC/CDL/Reals/Min.json | 339 + .../OBC/CDL/Reals/MultiplyByParameter.json | 314 + .../Buildings/Controls/OBC/CDL/Reals/PID.json | 5127 ++++++++++++++ .../Controls/OBC/CDL/Reals/PIDWithReset.json | 5391 +++++++++++++++ .../OBC/CDL/Reals/Sources/Constant.json | 392 ++ .../Controls/OBC/CDL/Reals/Subtract.json | 421 ++ .../Controls/OBC/CDL/Reals/Switch.json | 562 ++ .../OBC/CDL/Types/SimpleController.json | 73 + .../Controls/OBC/CDL/Utilities/Assert.json | 339 + .../json/test/FromModelica/Block1.json | 18 +- .../test/FromModelica/BlockInputOutput.json | 108 +- .../test/FromModelica/BlockWithBlock1.json | 58 +- .../test/FromModelica/ConditionalBlock.json | 177 +- .../test/FromModelica/CustomPWithLimiter.json | 512 +- .../test/FromModelica/DynamicTextColor.json | 177 +- .../json/test/FromModelica/EmptyEquation.json | 27 +- .../json/test/FromModelica/Enable.json | 5919 ++++++++++++++++- .../test/FromModelica/ExtendsClause_1.json | 206 +- .../test/FromModelica/ExtendsClause_2.json | 257 +- .../test/FromModelica/ExtendsClause_3.json | 199 +- .../MisplacedInfoWithComponent.json | 63 +- .../MisplacedInfoWithEquation.json | 366 +- .../MisplacedInfoWithParameter.json | 70 +- .../json/test/FromModelica/MyController.json | 949 ++- .../MyControllerWithExportAnnotation1.json | 1036 ++- .../MyControllerWithSemantics.json | 1077 ++- .../test/FromModelica/NoClassComment.json | 43 +- .../json/test/FromModelica/NoWithin.json | 43 +- .../json/test/FromModelica/Parameter1.json | 44 +- .../Parameter1WithVendorAnnotation.json | 96 +- .../json/test/FromModelica/Parameter2.json | 353 +- .../json/test/FromModelica/Parameter3.json | 60 +- .../FromModelica/ParameterWithAttributes.json | 176 +- .../ParameterWithDefaultName.json | 83 +- .../test/FromModelica/ParameterWithInfo.json | 70 +- .../ParameterWithVendorAnnotationInInfo.json | 120 +- .../json/test/FromModelica/PointList.json | 1261 +++- .../test/FromModelica/RemovableInputs.json | 509 +- .../json/test/FromModelica/SubController.json | 411 +- .../SubControllerWithSemantics.json | 447 +- .../test/FromModelica/TestEvaluation_1.json | 175 +- .../test/FromModelica/TestEvaluation_2.json | 431 +- .../test/FromModelica/TestEvaluation_3.json | 218 +- .../test/FromModelica/TestEvaluation_4.json | 753 ++- .../FromModelica/VariableModification.json | 267 +- .../test/FromModelica/WithCDLElementary.json | 199 +- .../json/test/FromModelica/package.json | 43 +- .../objects/test/FromModelica/Block1.json | 11 +- .../test/FromModelica/BlockInputOutput.json | 159 +- .../test/FromModelica/BlockWithBlock1.json | 49 +- .../test/FromModelica/ConditionalBlock.json | 257 +- .../test/FromModelica/CustomPWithLimiter.json | 408 +- .../test/FromModelica/DynamicTextColor.json | 205 +- .../test/FromModelica/EmptyEquation.json | 13 +- .../objects/test/FromModelica/Enable.json | 4882 +++++++++++++- .../test/FromModelica/ExtendsClause_1.json | 228 +- .../test/FromModelica/ExtendsClause_2.json | 280 +- .../test/FromModelica/ExtendsClause_3.json | 222 +- .../MisplacedInfoWithComponent.json | 81 +- .../MisplacedInfoWithEquation.json | 336 +- .../MisplacedInfoWithParameter.json | 88 +- .../test/FromModelica/MyController.json | 1127 +++- .../MyControllerWithExportAnnotation1.json | 1238 +++- .../MyControllerWithSemantics.json | 1382 +++- .../test/FromModelica/NoClassComment.json | 37 +- .../objects/test/FromModelica/NoWithin.json | 37 +- .../objects/test/FromModelica/Parameter1.json | 37 +- .../Parameter1WithVendorAnnotation.json | 144 +- .../objects/test/FromModelica/Parameter2.json | 504 +- .../objects/test/FromModelica/Parameter3.json | 57 +- .../FromModelica/ParameterWithAttributes.json | 171 +- .../ParameterWithDefaultName.json | 78 +- .../test/FromModelica/ParameterWithInfo.json | 65 +- .../ParameterWithVendorAnnotationInInfo.json | 119 +- .../objects/test/FromModelica/PointList.json | 1667 ++++- .../test/FromModelica/RemovableInputs.json | 771 ++- .../test/FromModelica/SubController.json | 639 +- .../SubControllerWithSemantics.json | 678 +- .../test/FromModelica/TestEvaluation_1.json | 195 +- .../test/FromModelica/TestEvaluation_2.json | 430 +- .../test/FromModelica/TestEvaluation_3.json | 267 +- .../test/FromModelica/TestEvaluation_4.json | 686 +- .../FromModelica/VariableModification.json | 355 +- .../test/FromModelica/WithCDLElementary.json | 289 +- .../objects/test/FromModelica/package.json | 37 +- 146 files changed, 66805 insertions(+), 129 deletions(-) create mode 100644 test/reference/json/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Constants.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Integers/Equal.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/BooleanInput.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/BooleanOutput.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/IntegerInput.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/IntegerOutput.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/RealInput.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/RealOutput.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/package.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Logical/And.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Logical/Not.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Logical/Or.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Abs.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Add.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Derivative.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Greater.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Hysteresis.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Limiter.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Min.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/PID.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Subtract.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Reals/Switch.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Types/SimpleController.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Utilities/Assert.json diff --git a/lib/objectExtractor.js b/lib/objectExtractor.js index 77a52a62..f4de7f85 100644 --- a/lib/objectExtractor.js +++ b/lib/objectExtractor.js @@ -600,7 +600,6 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore if ('modification' in instanceDict.single_component_list.declaration) { const mod = instanceDict.single_component_list.declaration.modification const modDict = parseModification(mod, typeSpecifier) - console.log(modDict) Object.keys(modDict).forEach(key => { if (key === 'value') { graph.add(instanceNode, s231Ns('value'), modDict.value) @@ -685,25 +684,19 @@ function parseModification (mod, typeSpecifier = '') { let res = {} if ('equal' in mod && mod.equal) { let value = mod.expression.simple_expression - if (typeSpecifier === 'Real' || typeSpecifier === 'Integer' || typeSpecifier.endsWith('RealInput') || typeSpecifier.endsWith('RealOutput') || typeSpecifier.endsWith('IntegerInput') || typeSpecifier.endsWith('IntegerOutput')) { - res.value = Number(value) - } else if (typeSpecifier === 'Boolean' || typeSpecifier.endsWith('BooleanInput') || typeSpecifier.endsWith('BooleanOutput')) { - res.value = Boolean(value) - } else { - if (typeof value === 'string') { - if (isNaN(Number(value))) { - value = value.replace(/"/g, '') - value = value.replace(/'/g, '') - if (value === 'true') { - res.value = true - } else if (value === 'false') { - res.value = false - } else { - res.value = value - } + if (typeof value === 'string') { + if (isNaN(Number(value))) { + value = value.replace(/"/g, '') + value = value.replace(/'/g, '') + if (value === 'true') { + res.value = true + } else if (value === 'false') { + res.value = false } else { - res[value] = Number(value) + res.value = value } + } else { + res.value = Number(value) } } } diff --git a/test/reference/cxf/test/FromModelica/Block1.jsonld b/test/reference/cxf/test/FromModelica/Block1.jsonld index b93968f9..e9c71a55 100644 --- a/test/reference/cxf/test/FromModelica/Block1.jsonld +++ b/test/reference/cxf/test/FromModelica/Block1.jsonld @@ -1 +1,7 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@id":"seq:Block1","@type":"S231P:Block"} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@id": "seq:Block1", + "@type": "S231P:Block" +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/BlockInputOutput.jsonld b/test/reference/cxf/test/FromModelica/BlockInputOutput.jsonld index 638bbb4d..6675b4c8 100644 --- a/test/reference/cxf/test/FromModelica/BlockInputOutput.jsonld +++ b/test/reference/cxf/test/FromModelica/BlockInputOutput.jsonld @@ -1 +1,33 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:BlockInputOutput","@type":"S231P:Block","S231P:hasInput":{"@id":"seq:BlockInputOutput#u"},"S231P:hasOutput":{"@id":"seq:BlockInputOutput#y"}},{"@id":"seq:BlockInputOutput#u","@type":"S231P:RealInput"},{"@id":"seq:BlockInputOutput#y","@type":"S231P:RealOutput"}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:BlockInputOutput", + "@type": "S231P:Block", + "S231P:hasInput": { + "@id": "seq:BlockInputOutput#u" + }, + "S231P:hasOutput": { + "@id": "seq:BlockInputOutput#y" + } + }, + { + "@id": "seq:BlockInputOutput#u", + "@type": "S231P:RealInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Input connector", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}", + "S231P:label": "u" + }, + { + "@id": "seq:BlockInputOutput#y", + "@type": "S231P:RealOutput", + "S231P:accessSpecifier": "public", + "S231P:description": "Output connector", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-10},{\"x\":120,\"y\":10}]}}}", + "S231P:label": "y" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/BlockWithBlock1.jsonld b/test/reference/cxf/test/FromModelica/BlockWithBlock1.jsonld index 9cf13881..1e5d8e07 100644 --- a/test/reference/cxf/test/FromModelica/BlockWithBlock1.jsonld +++ b/test/reference/cxf/test/FromModelica/BlockWithBlock1.jsonld @@ -1 +1,33 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:BlockWithBlock1","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:BlockWithBlock1#bloPro"},{"@id":"seq:BlockWithBlock1#bloPub"}]},{"@id":"seq:BlockWithBlock1#bloPro","@type":"seq:Block1"},{"@id":"seq:BlockWithBlock1#bloPub","@type":"seq:Block1"}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:BlockWithBlock1", + "@type": "S231P:Block", + "S231P:containsBlock": [ + { + "@id": "seq:BlockWithBlock1#bloPro" + }, + { + "@id": "seq:BlockWithBlock1#bloPub" + } + ] + }, + { + "@id": "seq:BlockWithBlock1#bloPro", + "@type": "seq:Block1", + "S231P:accessSpecifier": "protected", + "S231P:description": "A protected block", + "S231P:label": "bloPro" + }, + { + "@id": "seq:BlockWithBlock1#bloPub", + "@type": "seq:Block1", + "S231P:accessSpecifier": "public", + "S231P:description": "A public block", + "S231P:label": "bloPub" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld b/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld index b480034c..10e0e7b4 100644 --- a/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld +++ b/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld @@ -1 +1,57 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:ConditionalBlock","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:ConditionalBlock#abs"},"S231P:hasInput":{"@id":"seq:ConditionalBlock#u"},"S231P:hasOutput":{"@id":"seq:ConditionalBlock#y"},"S231P:hasParameter":{"@id":"seq:ConditionalBlock#enaBlo"}},{"@id":"seq:ConditionalBlock#abs","@type":"https://data.ashrae.org/S231P#CXF.Reals.Abs"},{"@id":"seq:ConditionalBlock#enaBlo","S231P:isOfDataType":{"@id":"S231P:Boolean"}},{"@id":"seq:ConditionalBlock#u","@type":"S231P:RealInput"},{"@id":"seq:ConditionalBlock#y","@type":"S231P:RealOutput"}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:ConditionalBlock", + "@type": "S231P:Block", + "S231P:containsBlock": { + "@id": "seq:ConditionalBlock#abs" + }, + "S231P:hasInput": { + "@id": "seq:ConditionalBlock#u" + }, + "S231P:hasOutput": { + "@id": "seq:ConditionalBlock#y" + }, + "S231P:hasParameter": { + "@id": "seq:ConditionalBlock#enaBlo" + } + }, + { + "@id": "seq:ConditionalBlock#abs", + "@type": "https://data.ashrae.org/S231P#CXF.Reals.Abs", + "S231P:accessSpecifier": "public", + "S231P:description": "Instance could be conditional disabled", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-8,\"y\":-10},{\"x\":12,\"y\":10}]}}}", + "S231P:label": "abs" + }, + { + "@id": "seq:ConditionalBlock#enaBlo", + "S231P:accessSpecifier": "public", + "S231P:description": "Flag for enabling instance", + "S231P:isOfDataType": { + "@id": "S231P:Boolean" + }, + "S231P:label": "enaBlo", + "S231P:value": true + }, + { + "@id": "seq:ConditionalBlock#u", + "@type": "S231P:RealInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Input connector", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}", + "S231P:label": "u" + }, + { + "@id": "seq:ConditionalBlock#y", + "@type": "S231P:RealOutput", + "S231P:accessSpecifier": "public", + "S231P:description": "Output connector", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-10},{\"x\":120,\"y\":10}]}}}", + "S231P:label": "y" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld b/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld index 7fe50bb3..19c41d61 100644 --- a/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld +++ b/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld @@ -1 +1,101 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:CustomPWithLimiter","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:CustomPWithLimiter#gain"},{"@id":"seq:CustomPWithLimiter#minValue"}],"S231P:hasInput":[{"@id":"seq:CustomPWithLimiter#e"},{"@id":"seq:CustomPWithLimiter#yMax"}],"S231P:hasOutput":{"@id":"seq:CustomPWithLimiter#y"},"S231P:hasParameter":{"@id":"seq:CustomPWithLimiter#k"}},{"@id":"seq:CustomPWithLimiter#e","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:CustomPWithLimiter#gain.u"}},{"@id":"seq:CustomPWithLimiter#gain","@type":"https://data.ashrae.org/S231P#CXF.Reals.MultiplyByParameter"},{"@id":"seq:CustomPWithLimiter#gain.y","S231P:isConnectedTo":{"@id":"seq:CustomPWithLimiter#minValue.u2"}},{"@id":"seq:CustomPWithLimiter#k","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:CustomPWithLimiter#minValue","@type":"https://data.ashrae.org/S231P#CXF.Reals.Min"},{"@id":"seq:CustomPWithLimiter#minValue.y","S231P:isConnectedTo":{"@id":"seq:CustomPWithLimiter#y"}},{"@id":"seq:CustomPWithLimiter#y","@type":"S231P:RealOutput"},{"@id":"seq:CustomPWithLimiter#yMax","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:CustomPWithLimiter#minValue.u1"}}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:CustomPWithLimiter", + "@type": "S231P:Block", + "S231P:containsBlock": [ + { + "@id": "seq:CustomPWithLimiter#gain" + }, + { + "@id": "seq:CustomPWithLimiter#minValue" + } + ], + "S231P:hasInput": [ + { + "@id": "seq:CustomPWithLimiter#e" + }, + { + "@id": "seq:CustomPWithLimiter#yMax" + } + ], + "S231P:hasOutput": { + "@id": "seq:CustomPWithLimiter#y" + }, + "S231P:hasParameter": { + "@id": "seq:CustomPWithLimiter#k" + } + }, + { + "@id": "seq:CustomPWithLimiter#e", + "@type": "S231P:RealInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Control error", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-60},{\"x\":-100,\"y\":-20}]}}}", + "S231P:isConnectedTo": { + "@id": "seq:CustomPWithLimiter#gain.u" + }, + "S231P:label": "e" + }, + { + "@id": "seq:CustomPWithLimiter#gain", + "@type": "https://data.ashrae.org/S231P#CXF.Reals.MultiplyByParameter", + "S231P:accessSpecifier": "public", + "S231P:description": "Constant gain", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-60,\"y\":-50},{\"x\":-40,\"y\":-30}]}}}", + "S231P:label": "gain" + }, + { + "@id": "seq:CustomPWithLimiter#gain.y", + "S231P:isConnectedTo": { + "@id": "seq:CustomPWithLimiter#minValue.u2" + } + }, + { + "@id": "seq:CustomPWithLimiter#k", + "S231P:accessSpecifier": "public", + "S231P:description": "Constant gain", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "k", + "S231P:value": 2 + }, + { + "@id": "seq:CustomPWithLimiter#minValue", + "@type": "https://data.ashrae.org/S231P#CXF.Reals.Min", + "S231P:accessSpecifier": "public", + "S231P:description": "Outputs the minimum of its inputs", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":20,\"y\":-10},{\"x\":40,\"y\":10}]}}}", + "S231P:label": "minValue" + }, + { + "@id": "seq:CustomPWithLimiter#minValue.y", + "S231P:isConnectedTo": { + "@id": "seq:CustomPWithLimiter#y" + } + }, + { + "@id": "seq:CustomPWithLimiter#y", + "@type": "S231P:RealOutput", + "S231P:accessSpecifier": "public", + "S231P:description": "Control signal", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-10},{\"x\":120,\"y\":10}]}}}", + "S231P:label": "y" + }, + { + "@id": "seq:CustomPWithLimiter#yMax", + "@type": "S231P:RealInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Maximum value of output signal", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":20},{\"x\":-100,\"y\":60}]}}}", + "S231P:isConnectedTo": { + "@id": "seq:CustomPWithLimiter#minValue.u1" + }, + "S231P:label": "yMax" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld b/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld index a75f23cf..551d0f32 100644 --- a/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld +++ b/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld @@ -1 +1,22 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:DynamicTextColor","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:DynamicTextColor#u"}},{"@id":"seq:DynamicTextColor#u","@type":"https://data.ashrae.org/S231P#CXF.Interfaces.Boolean"}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:DynamicTextColor", + "@type": "S231P:Block", + "S231P:containsBlock": { + "@id": "seq:DynamicTextColor#u" + } + }, + { + "@id": "seq:DynamicTextColor#u", + "@type": "https://data.ashrae.org/S231P#CXF.Interfaces.Boolean", + "S231P:accessSpecifier": "public", + "S231P:description": "Input connector", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}", + "S231P:label": "u" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/EmptyEquation.jsonld b/test/reference/cxf/test/FromModelica/EmptyEquation.jsonld index f152d007..7fd40a9a 100644 --- a/test/reference/cxf/test/FromModelica/EmptyEquation.jsonld +++ b/test/reference/cxf/test/FromModelica/EmptyEquation.jsonld @@ -1 +1,7 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@id":"seq:EmptyEquation","@type":"S231P:Block"} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@id": "seq:EmptyEquation", + "@type": "S231P:Block" +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/Enable.jsonld b/test/reference/cxf/test/FromModelica/Enable.jsonld index c1f8185f..e9423f6d 100644 --- a/test/reference/cxf/test/FromModelica/Enable.jsonld +++ b/test/reference/cxf/test/FromModelica/Enable.jsonld @@ -1 +1,821 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:Enable","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:Enable#and1"},{"@id":"seq:Enable#and2"},{"@id":"seq:Enable#and3"},{"@id":"seq:Enable#andEnaDis"},{"@id":"seq:Enable#conInt"},{"@id":"seq:Enable#delOutDamOsc"},{"@id":"seq:Enable#delRetDam"},{"@id":"seq:Enable#entSubst1"},{"@id":"seq:Enable#hysOutEnt"},{"@id":"seq:Enable#hysOutTem"},{"@id":"seq:Enable#intEqu"},{"@id":"seq:Enable#maxRetDamSwitch"},{"@id":"seq:Enable#minRetDamSwitch"},{"@id":"seq:Enable#not1"},{"@id":"seq:Enable#not2"},{"@id":"seq:Enable#or2"},{"@id":"seq:Enable#outDamSwitch"},{"@id":"seq:Enable#retDamSwitch"},{"@id":"seq:Enable#sub1"},{"@id":"seq:Enable#sub2"},{"@id":"seq:Enable#truFalHol"}],"S231P:hasInput":[{"@id":"seq:Enable#hOut"},{"@id":"seq:Enable#hOutCut"},{"@id":"seq:Enable#TOut"},{"@id":"seq:Enable#TOutCut"},{"@id":"seq:Enable#u1SupFan"},{"@id":"seq:Enable#uFreProSta"},{"@id":"seq:Enable#uOutDam_max"},{"@id":"seq:Enable#uOutDam_min"},{"@id":"seq:Enable#uRetDam_max"},{"@id":"seq:Enable#uRetDam_min"},{"@id":"seq:Enable#uRetDamPhy_max"}],"S231P:hasOutput":[{"@id":"seq:Enable#yOutDam_max"},{"@id":"seq:Enable#yRetDam_max"},{"@id":"seq:Enable#yRetDam_min"}],"S231P:hasParameter":[{"@id":"seq:Enable#delEntHis"},{"@id":"seq:Enable#delTOutHis"},{"@id":"seq:Enable#disDel"},{"@id":"seq:Enable#hOutHigLimCutHig"},{"@id":"seq:Enable#hOutHigLimCutLow"},{"@id":"seq:Enable#retDamFulOpeTim"},{"@id":"seq:Enable#TOutHigLimCutHig"},{"@id":"seq:Enable#TOutHigLimCutLow"},{"@id":"seq:Enable#use_enthalpy"}]},{"@id":"seq:Enable#and1","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#and1.y","S231P:isConnectedTo":{"@id":"seq:Enable#andEnaDis.u1"}},{"@id":"seq:Enable#and2","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#and2.u1","S231P:isConnectedTo":{"@id":"seq:Enable#not2.y"}},{"@id":"seq:Enable#and2.y","S231P:isConnectedTo":[{"@id":"seq:Enable#maxRetDamSwitch.u2"},{"@id":"seq:Enable#minRetDamSwitch.u2"}]},{"@id":"seq:Enable#and3","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#and3.u2","S231P:isConnectedTo":{"@id":"seq:Enable#delOutDamOsc.y"}},{"@id":"seq:Enable#andEnaDis","@type":"https://data.ashrae.org/S231P#CXF.Logical.And"},{"@id":"seq:Enable#andEnaDis.y","S231P:isConnectedTo":{"@id":"seq:Enable#not2.u"}},{"@id":"seq:Enable#conInt","@type":"seq:Buildings.Controls.OBC.CDL.Integers.Sources.Constant"},{"@id":"seq:Enable#conInt.y","S231P:isConnectedTo":{"@id":"seq:Enable#intEqu.u2"}},{"@id":"seq:Enable#delEntHis","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#delOutDamOsc","@type":"https://data.ashrae.org/S231P#CXF.Logical.TrueDelay"},{"@id":"seq:Enable#delOutDamOsc.u","S231P:isConnectedTo":{"@id":"seq:Enable#not2.y"}},{"@id":"seq:Enable#delRetDam","@type":"https://data.ashrae.org/S231P#CXF.Logical.TrueDelay"},{"@id":"seq:Enable#delRetDam.y","S231P:isConnectedTo":{"@id":"seq:Enable#not1.u"}},{"@id":"seq:Enable#delTOutHis","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#disDel","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#entSubst1","@type":"seq:Buildings.Controls.OBC.CDL.Logical.Sources.Constant"},{"@id":"seq:Enable#entSubst1.y","S231P:isConnectedTo":{"@id":"seq:Enable#or2.u2"}},{"@id":"seq:Enable#hOut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#sub2.u1"}},{"@id":"seq:Enable#hOutCut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#sub2.u2"}},{"@id":"seq:Enable#hOutHigLimCutHig","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#hOutHigLimCutLow","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#hysOutEnt","@type":"https://data.ashrae.org/S231P#CXF.Reals.Hysteresis"},{"@id":"seq:Enable#hysOutEnt.y","S231P:isConnectedTo":{"@id":"seq:Enable#or2.u2"}},{"@id":"seq:Enable#hysOutTem","@type":"https://data.ashrae.org/S231P#CXF.Reals.Hysteresis"},{"@id":"seq:Enable#hysOutTem.y","S231P:isConnectedTo":{"@id":"seq:Enable#or2.u1"}},{"@id":"seq:Enable#intEqu","@type":"https://data.ashrae.org/S231P#CXF.Integers.Equal"},{"@id":"seq:Enable#intEqu.y","S231P:isConnectedTo":{"@id":"seq:Enable#andEnaDis.u2"}},{"@id":"seq:Enable#maxRetDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#maxRetDamSwitch.y","S231P:isConnectedTo":{"@id":"seq:Enable#yRetDam_max"}},{"@id":"seq:Enable#minRetDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#minRetDamSwitch.y","S231P:isConnectedTo":{"@id":"seq:Enable#yRetDam_min"}},{"@id":"seq:Enable#not1","@type":"https://data.ashrae.org/S231P#CXF.Logical.Not"},{"@id":"seq:Enable#not1.y","S231P:isConnectedTo":{"@id":"seq:Enable#and2.u2"}},{"@id":"seq:Enable#not2","@type":"https://data.ashrae.org/S231P#CXF.Logical.Not"},{"@id":"seq:Enable#not2.y","S231P:isConnectedTo":[{"@id":"seq:Enable#and3.u1"},{"@id":"seq:Enable#delRetDam.u"},{"@id":"seq:Enable#retDamSwitch.u2"}]},{"@id":"seq:Enable#or2","@type":"https://data.ashrae.org/S231P#CXF.Logical.Or"},{"@id":"seq:Enable#or2.y","S231P:isConnectedTo":{"@id":"seq:Enable#truFalHol.u"}},{"@id":"seq:Enable#outDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#outDamSwitch.u2","S231P:isConnectedTo":{"@id":"seq:Enable#and3.y"}},{"@id":"seq:Enable#outDamSwitch.y","S231P:isConnectedTo":{"@id":"seq:Enable#yOutDam_max"}},{"@id":"seq:Enable#retDamFulOpeTim","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#retDamSwitch","@type":"https://data.ashrae.org/S231P#CXF.Reals.Switch"},{"@id":"seq:Enable#retDamSwitch.y","S231P:isConnectedTo":{"@id":"seq:Enable#minRetDamSwitch.u3"}},{"@id":"seq:Enable#sub1","@type":"https://data.ashrae.org/S231P#CXF.Reals.Subtract"},{"@id":"seq:Enable#sub1.y","S231P:isConnectedTo":{"@id":"seq:Enable#hysOutTem.u"}},{"@id":"seq:Enable#sub2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Subtract"},{"@id":"seq:Enable#sub2.y","S231P:isConnectedTo":{"@id":"seq:Enable#hysOutEnt.u"}},{"@id":"seq:Enable#TOut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#sub1.u1"}},{"@id":"seq:Enable#TOutCut","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#sub1.u2"}},{"@id":"seq:Enable#TOutHigLimCutHig","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#TOutHigLimCutLow","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Enable#truFalHol","@type":"https://data.ashrae.org/S231P#CXF.Logical.TrueFalseHold"},{"@id":"seq:Enable#truFalHol.y","S231P:isConnectedTo":{"@id":"seq:Enable#and1.u1"}},{"@id":"seq:Enable#u1SupFan","@type":"S231P:BooleanInput","S231P:isConnectedTo":{"@id":"seq:Enable#and1.u2"}},{"@id":"seq:Enable#uFreProSta","@type":"S231P:IntegerInput","S231P:isConnectedTo":{"@id":"seq:Enable#intEqu.u1"}},{"@id":"seq:Enable#uOutDam_max","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#outDamSwitch.u3"}},{"@id":"seq:Enable#uOutDam_min","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#outDamSwitch.u1"}},{"@id":"seq:Enable#uRetDam_max","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:Enable#maxRetDamSwitch.u3"},{"@id":"seq:Enable#retDamSwitch.u1"}]},{"@id":"seq:Enable#uRetDam_min","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:Enable#retDamSwitch.u3"}},{"@id":"seq:Enable#uRetDamPhy_max","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:Enable#maxRetDamSwitch.u1"},{"@id":"seq:Enable#minRetDamSwitch.u1"}]},{"@id":"seq:Enable#use_enthalpy","S231P:isOfDataType":{"@id":"S231P:Boolean"}},{"@id":"seq:Enable#yOutDam_max","@type":"S231P:RealOutput"},{"@id":"seq:Enable#yRetDam_max","@type":"S231P:RealOutput"},{"@id":"seq:Enable#yRetDam_min","@type":"S231P:RealOutput"}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#", + "qudt": "http://qudt.org/schema/qudt#" + }, + "@graph": [ + { + "@id": "seq:Enable", + "@type": "S231P:Block", + "S231P:containsBlock": [ + { + "@id": "seq:Enable#and1" + }, + { + "@id": "seq:Enable#and2" + }, + { + "@id": "seq:Enable#and3" + }, + { + "@id": "seq:Enable#andEnaDis" + }, + { + "@id": "seq:Enable#conInt" + }, + { + "@id": "seq:Enable#delOutDamOsc" + }, + { + "@id": "seq:Enable#delRetDam" + }, + { + "@id": "seq:Enable#entSubst1" + }, + { + "@id": "seq:Enable#hysOutEnt" + }, + { + "@id": "seq:Enable#hysOutTem" + }, + { + "@id": "seq:Enable#intEqu" + }, + { + "@id": "seq:Enable#maxRetDamSwitch" + }, + { + "@id": "seq:Enable#minRetDamSwitch" + }, + { + "@id": "seq:Enable#not1" + }, + { + "@id": "seq:Enable#not2" + }, + { + "@id": "seq:Enable#or2" + }, + { + "@id": "seq:Enable#outDamSwitch" + }, + { + "@id": "seq:Enable#retDamSwitch" + }, + { + "@id": "seq:Enable#sub1" + }, + { + "@id": "seq:Enable#sub2" + }, + { + "@id": "seq:Enable#truFalHol" + } + ], + "S231P:hasInput": [ + { + "@id": "seq:Enable#hOut" + }, + { + "@id": "seq:Enable#hOutCut" + }, + { + "@id": "seq:Enable#TOut" + }, + { + "@id": "seq:Enable#TOutCut" + }, + { + "@id": "seq:Enable#u1SupFan" + }, + { + "@id": "seq:Enable#uFreProSta" + }, + { + "@id": "seq:Enable#uOutDam_max" + }, + { + "@id": "seq:Enable#uOutDam_min" + }, + { + "@id": "seq:Enable#uRetDam_max" + }, + { + "@id": "seq:Enable#uRetDam_min" + }, + { + "@id": "seq:Enable#uRetDamPhy_max" + } + ], + "S231P:hasOutput": [ + { + "@id": "seq:Enable#yOutDam_max" + }, + { + "@id": "seq:Enable#yRetDam_max" + }, + { + "@id": "seq:Enable#yRetDam_min" + } + ], + "S231P:hasParameter": [ + { + "@id": "seq:Enable#delEntHis" + }, + { + "@id": "seq:Enable#delTOutHis" + }, + { + "@id": "seq:Enable#disDel" + }, + { + "@id": "seq:Enable#hOutHigLimCutHig" + }, + { + "@id": "seq:Enable#hOutHigLimCutLow" + }, + { + "@id": "seq:Enable#retDamFulOpeTim" + }, + { + "@id": "seq:Enable#TOutHigLimCutHig" + }, + { + "@id": "seq:Enable#TOutHigLimCutLow" + }, + { + "@id": "seq:Enable#use_enthalpy" + } + ] + }, + { + "@id": "seq:Enable#and1", + "@type": "https://data.ashrae.org/S231P#CXF.Logical.And", + "S231P:accessSpecifier": "protected", + "S231P:description": "Check supply fan status", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":20,\"y\":80},{\"x\":40,\"y\":100}]}}}", + "S231P:label": "and1" + }, + { + "@id": "seq:Enable#and1.y", + "S231P:isConnectedTo": { + "@id": "seq:Enable#andEnaDis.u1" + } + }, + { + "@id": "seq:Enable#and2", + "@type": "https://data.ashrae.org/S231P#CXF.Logical.And", + "S231P:accessSpecifier": "protected", + "S231P:description": "Logical and", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":160,\"y\":-100},{\"x\":180,\"y\":-80}]}}}", + "S231P:label": "and2" + }, + { + "@id": "seq:Enable#and2.u1", + "S231P:isConnectedTo": { + "@id": "seq:Enable#not2.y" + } + }, + { + "@id": "seq:Enable#and2.y", + "S231P:isConnectedTo": [ + { + "@id": "seq:Enable#maxRetDamSwitch.u2" + }, + { + "@id": "seq:Enable#minRetDamSwitch.u2" + } + ] + }, + { + "@id": "seq:Enable#and3", + "@type": "https://data.ashrae.org/S231P#CXF.Logical.And", + "S231P:accessSpecifier": "protected", + "S231P:description": "Check if delay time has been passed after economizer being disabled", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":40,\"y\":-54},{\"x\":60,\"y\":-34}]}}}", + "S231P:label": "and3" + }, + { + "@id": "seq:Enable#and3.u2", + "S231P:isConnectedTo": { + "@id": "seq:Enable#delOutDamOsc.y" + } + }, + { + "@id": "seq:Enable#andEnaDis", + "@type": "https://data.ashrae.org/S231P#CXF.Logical.And", + "S231P:accessSpecifier": "public", + "S231P:description": "Check freeze protection stage and zone state", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":60,\"y\":12},{\"x\":80,\"y\":32}]}}}", + "S231P:label": "andEnaDis" + }, + { + "@id": "seq:Enable#andEnaDis.y", + "S231P:isConnectedTo": { + "@id": "seq:Enable#not2.u" + } + }, + { + "@id": "seq:Enable#conInt", + "@type": "seq:Buildings.Controls.OBC.CDL.Integers.Sources.Constant", + "S231P:accessSpecifier": "protected", + "S231P:description": "Integer constant, stage 0", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-118,\"y\":12},{\"x\":-98,\"y\":32}]}}}", + "S231P:label": "conInt" + }, + { + "@id": "seq:Enable#conInt.y", + "S231P:isConnectedTo": { + "@id": "seq:Enable#intEqu.u2" + } + }, + { + "@id": "seq:Enable#delEntHis", + "qudt:hasQuantityKind": { + "@id": "qudt:SpecificEnergy" + }, + "qudt:hasUnit": { + "@id": "http://qudt.org/schema/qudt#J/kg" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "Delta between the enthalpy hysteresis high and low limits", + "S231P:graphics": "{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Advanced\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Hysteresis\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"use_enthalpy\"}}}}}]}}", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "delEntHis", + "S231P:value": 1000 + }, + { + "@id": "seq:Enable#delOutDamOsc", + "@type": "https://data.ashrae.org/S231P#CXF.Logical.TrueDelay", + "S231P:accessSpecifier": "protected", + "S231P:description": "Small delay before closing the outdoor air damper to avoid pressure fluctuations", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-20,\"y\":-58},{\"x\":0,\"y\":-38}]}}}", + "S231P:label": "delOutDamOsc" + }, + { + "@id": "seq:Enable#delOutDamOsc.u", + "S231P:isConnectedTo": { + "@id": "seq:Enable#not2.y" + } + }, + { + "@id": "seq:Enable#delRetDam", + "@type": "https://data.ashrae.org/S231P#CXF.Logical.TrueDelay", + "S231P:accessSpecifier": "protected", + "S231P:description": "Keep return damper open to its physical maximum for a short period of time before closing the outdoor air damper and resuming the maximum return air damper position, per G36 Part N7", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-20,\"y\":-108},{\"x\":0,\"y\":-88}]}}}", + "S231P:label": "delRetDam" + }, + { + "@id": "seq:Enable#delRetDam.y", + "S231P:isConnectedTo": { + "@id": "seq:Enable#not1.u" + } + }, + { + "@id": "seq:Enable#delTOutHis", + "qudt:hasQuantityKind": { + "@id": "qudt:TemperatureDifference" + }, + "qudt:hasUnit": { + "@id": "qudt:K" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "Delta between the temperature hysteresis high and low limit", + "S231P:graphics": "{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Advanced\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Hysteresis\\\"\"}}}}}]}}", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "delTOutHis", + "S231P:value": 1 + }, + { + "@id": "seq:Enable#disDel", + "qudt:hasQuantityKind": { + "@id": "qudt:Time" + }, + "qudt:hasUnit": { + "@id": "qudt:s" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "Short time delay before closing the OA damper at disable to avoid pressure fluctuations", + "S231P:graphics": "{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Advanced\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Delays at disable\\\"\"}}}}}]}}", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "disDel", + "S231P:value": 15 + }, + { + "@id": "seq:Enable#entSubst1", + "@type": "seq:Buildings.Controls.OBC.CDL.Logical.Sources.Constant", + "S231P:accessSpecifier": "protected", + "S231P:description": "Deactivates outdoor air enthalpy condition if there is no enthalpy sensor", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-160,\"y\":180},{\"x\":-140,\"y\":200}]}}}", + "S231P:label": "entSubst1" + }, + { + "@id": "seq:Enable#entSubst1.y", + "S231P:isConnectedTo": { + "@id": "seq:Enable#or2.u2" + } + }, + { + "@id": "seq:Enable#hOut", + "@type": "S231P:RealInput", + "qudt:hasQuantityKind": { + "@id": "qudt:SpecificEnergy" + }, + "qudt:hasUnit": { + "@id": "http://qudt.org/schema/qudt#J/kg" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "Outdoor air enthalpy", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":152},{\"x\":-260,\"y\":192}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":60},{\"x\":-100,\"y\":100}]}}}", + "S231P:isConnectedTo": { + "@id": "seq:Enable#sub2.u1" + }, + "S231P:label": "hOut" + }, + { + "@id": "seq:Enable#hOutCut", + "@type": "S231P:RealInput", + "qudt:hasQuantityKind": { + "@id": "qudt:SpecificEnergy" + }, + "qudt:hasUnit": { + "@id": "http://qudt.org/schema/qudt#J/kg" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "OA enthalpy high limit cutoff. For differential enthalpy use return air enthalpy measurement", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":112},{\"x\":-260,\"y\":152}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}", + "S231P:isConnectedTo": { + "@id": "seq:Enable#sub2.u2" + }, + "S231P:label": "hOutCut" + }, + { + "@id": "seq:Enable#hOutHigLimCutHig", + "qudt:hasQuantityKind": { + "@id": "qudt:SpecificEnergy" + }, + "qudt:hasUnit": { + "@id": "http://qudt.org/schema/qudt#J/kg" + }, + "S231P:accessSpecifier": "protected", + "S231P:description": "Hysteresis block high limit cutoff", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "hOutHigLimCutHig", + "S231P:value": 0 + }, + { + "@id": "seq:Enable#hOutHigLimCutLow", + "S231P:accessSpecifier": "protected", + "S231P:description": "Hysteresis block low limit cutoff", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "hOutHigLimCutLow", + "S231P:value": "hOutHigLimCutHig -delEntHis" + }, + { + "@id": "seq:Enable#hysOutEnt", + "@type": "https://data.ashrae.org/S231P#CXF.Reals.Hysteresis", + "S231P:accessSpecifier": "protected", + "S231P:description": "Outdoor air enthalpy hysteresis for both fixed and differential enthalpy cutoff conditions", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-160,\"y\":140},{\"x\":-140,\"y\":160}]}}}", + "S231P:label": "hysOutEnt" + }, + { + "@id": "seq:Enable#hysOutEnt.y", + "S231P:isConnectedTo": { + "@id": "seq:Enable#or2.u2" + } + }, + { + "@id": "seq:Enable#hysOutTem", + "@type": "https://data.ashrae.org/S231P#CXF.Reals.Hysteresis", + "S231P:accessSpecifier": "protected", + "S231P:description": "Outdoor air temperature hysteresis for both fixed and differential dry bulb temperature cutoff conditions", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-160,\"y\":220},{\"x\":-140,\"y\":240}]}}}", + "S231P:label": "hysOutTem" + }, + { + "@id": "seq:Enable#hysOutTem.y", + "S231P:isConnectedTo": { + "@id": "seq:Enable#or2.u1" + } + }, + { + "@id": "seq:Enable#intEqu", + "@type": "https://data.ashrae.org/S231P#CXF.Integers.Equal", + "S231P:accessSpecifier": "protected", + "S231P:description": "Logical block to check if the freeze protection is deactivated", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-78,\"y\":32},{\"x\":-58,\"y\":52}]}}}", + "S231P:label": "intEqu" + }, + { + "@id": "seq:Enable#intEqu.y", + "S231P:isConnectedTo": { + "@id": "seq:Enable#andEnaDis.u2" + } + }, + { + "@id": "seq:Enable#maxRetDamSwitch", + "@type": "https://data.ashrae.org/S231P#CXF.Reals.Switch", + "S231P:accessSpecifier": "protected", + "S231P:description": "Keep maximum RA damper position at physical maximum for a short time period after disable signal", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":60,\"y\":-136},{\"x\":80,\"y\":-116}]}}}", + "S231P:label": "maxRetDamSwitch" + }, + { + "@id": "seq:Enable#maxRetDamSwitch.y", + "S231P:isConnectedTo": { + "@id": "seq:Enable#yRetDam_max" + } + }, + { + "@id": "seq:Enable#minRetDamSwitch", + "@type": "https://data.ashrae.org/S231P#CXF.Reals.Switch", + "S231P:accessSpecifier": "protected", + "S231P:description": "Keep minimum RA damper position at physical maximum for a short time period after disable", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":60,\"y\":-178},{\"x\":80,\"y\":-158}]}}}", + "S231P:label": "minRetDamSwitch" + }, + { + "@id": "seq:Enable#minRetDamSwitch.y", + "S231P:isConnectedTo": { + "@id": "seq:Enable#yRetDam_min" + } + }, + { + "@id": "seq:Enable#not1", + "@type": "https://data.ashrae.org/S231P#CXF.Logical.Not", + "S231P:accessSpecifier": "protected", + "S231P:description": "Logical not", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":20,\"y\":-108},{\"x\":40,\"y\":-88}]}}}", + "S231P:label": "not1" + }, + { + "@id": "seq:Enable#not1.y", + "S231P:isConnectedTo": { + "@id": "seq:Enable#and2.u2" + } + }, + { + "@id": "seq:Enable#not2", + "@type": "https://data.ashrae.org/S231P#CXF.Logical.Not", + "S231P:accessSpecifier": "protected", + "S231P:description": "Logical not that starts the timer at disable signal ", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-60,\"y\":-58},{\"x\":-40,\"y\":-38}]}}}", + "S231P:label": "not2" + }, + { + "@id": "seq:Enable#not2.y", + "S231P:isConnectedTo": [ + { + "@id": "seq:Enable#and3.u1" + }, + { + "@id": "seq:Enable#delRetDam.u" + }, + { + "@id": "seq:Enable#retDamSwitch.u2" + } + ] + }, + { + "@id": "seq:Enable#or2", + "@type": "https://data.ashrae.org/S231P#CXF.Logical.Or", + "S231P:accessSpecifier": "protected", + "S231P:description": "Check if either the temperature or the enthalpy condition is satisfied", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-60,\"y\":182},{\"x\":-40,\"y\":202}]}}}", + "S231P:label": "or2" + }, + { + "@id": "seq:Enable#or2.y", + "S231P:isConnectedTo": { + "@id": "seq:Enable#truFalHol.u" + } + }, + { + "@id": "seq:Enable#outDamSwitch", + "@type": "https://data.ashrae.org/S231P#CXF.Reals.Switch", + "S231P:accessSpecifier": "protected", + "S231P:description": "Set maximum OA damper position to minimum at disable (after a given time delay)", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":82,\"y\":-78},{\"x\":102,\"y\":-58}]}}}", + "S231P:label": "outDamSwitch" + }, + { + "@id": "seq:Enable#outDamSwitch.u2", + "S231P:isConnectedTo": { + "@id": "seq:Enable#and3.y" + } + }, + { + "@id": "seq:Enable#outDamSwitch.y", + "S231P:isConnectedTo": { + "@id": "seq:Enable#yOutDam_max" + } + }, + { + "@id": "seq:Enable#retDamFulOpeTim", + "qudt:hasQuantityKind": { + "@id": "qudt:Time" + }, + "qudt:hasUnit": { + "@id": "qudt:s" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "Time period to keep RA damper fully open before releasing it for minimum outdoor airflow control\n at disable to avoid pressure fluctuations", + "S231P:graphics": "{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Advanced\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Delays at disable\\\"\"}}}}}]}}", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "retDamFulOpeTim", + "S231P:value": 180 + }, + { + "@id": "seq:Enable#retDamSwitch", + "@type": "https://data.ashrae.org/S231P#CXF.Reals.Switch", + "S231P:accessSpecifier": "protected", + "S231P:description": "Set minimum RA damper position to maximum at disable", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-20,\"y\":-176},{\"x\":0,\"y\":-156}]}}}", + "S231P:label": "retDamSwitch" + }, + { + "@id": "seq:Enable#retDamSwitch.y", + "S231P:isConnectedTo": { + "@id": "seq:Enable#minRetDamSwitch.u3" + } + }, + { + "@id": "seq:Enable#sub1", + "@type": "https://data.ashrae.org/S231P#CXF.Reals.Subtract", + "S231P:accessSpecifier": "protected", + "S231P:description": "Add block determines difference between TOut and TOutCut", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-200,\"y\":220},{\"x\":-180,\"y\":240}]}}}", + "S231P:label": "sub1" + }, + { + "@id": "seq:Enable#sub1.y", + "S231P:isConnectedTo": { + "@id": "seq:Enable#hysOutTem.u" + } + }, + { + "@id": "seq:Enable#sub2", + "@type": "https://data.ashrae.org/S231P#CXF.Reals.Subtract", + "S231P:accessSpecifier": "protected", + "S231P:description": "Add block determines difference between hOut and hOutCut", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-200,\"y\":140},{\"x\":-180,\"y\":160}]}}}", + "S231P:label": "sub2" + }, + { + "@id": "seq:Enable#sub2.y", + "S231P:isConnectedTo": { + "@id": "seq:Enable#hysOutEnt.u" + } + }, + { + "@id": "seq:Enable#TOut", + "@type": "S231P:RealInput", + "qudt:hasQuantityKind": { + "@id": "qudt:ThermodynamicTemperature" + }, + "qudt:hasUnit": { + "@id": "qudt:K" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "Outdoor air temperature", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":232},{\"x\":-260,\"y\":272}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":110},{\"x\":-100,\"y\":150}]}}}", + "S231P:isConnectedTo": { + "@id": "seq:Enable#sub1.u1" + }, + "S231P:label": "TOut" + }, + { + "@id": "seq:Enable#TOutCut", + "@type": "S231P:RealInput", + "qudt:hasQuantityKind": { + "@id": "qudt:ThermodynamicTemperature" + }, + "qudt:hasUnit": { + "@id": "qudt:K" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "OA temperature high limit cutoff. For differential dry bulb temperature condition use return air temperature measurement", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":192},{\"x\":-260,\"y\":232}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":90},{\"x\":-100,\"y\":130}]}}}", + "S231P:isConnectedTo": { + "@id": "seq:Enable#sub1.u2" + }, + "S231P:label": "TOutCut" + }, + { + "@id": "seq:Enable#TOutHigLimCutHig", + "qudt:hasQuantityKind": { + "@id": "qudt:TemperatureDifference" + }, + "qudt:hasUnit": { + "@id": "qudt:K" + }, + "S231P:accessSpecifier": "protected", + "S231P:description": "Hysteresis high limit cutoff", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "TOutHigLimCutHig", + "S231P:value": 0 + }, + { + "@id": "seq:Enable#TOutHigLimCutLow", + "S231P:accessSpecifier": "protected", + "S231P:description": "Hysteresis low limit cutoff", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "TOutHigLimCutLow", + "S231P:value": "TOutHigLimCutHig -delTOutHis" + }, + { + "@id": "seq:Enable#truFalHol", + "@type": "https://data.ashrae.org/S231P#CXF.Logical.TrueFalseHold", + "S231P:accessSpecifier": "public", + "S231P:description": "Economizer should not be enabled or disabled within 10 minutes of change", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":20,\"y\":182},{\"x\":40,\"y\":202}]}}}", + "S231P:label": "truFalHol" + }, + { + "@id": "seq:Enable#truFalHol.y", + "S231P:isConnectedTo": { + "@id": "seq:Enable#and1.u1" + } + }, + { + "@id": "seq:Enable#u1SupFan", + "@type": "S231P:BooleanInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Supply fan proven on", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":62},{\"x\":-260,\"y\":102}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":10},{\"x\":-100,\"y\":50}]}}}", + "S231P:isConnectedTo": { + "@id": "seq:Enable#and1.u2" + }, + "S231P:label": "u1SupFan" + }, + { + "@id": "seq:Enable#uFreProSta", + "@type": "S231P:IntegerInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Freeze protection stage status signal", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":22},{\"x\":-260,\"y\":62}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-10},{\"x\":-100,\"y\":30}]}}}", + "S231P:isConnectedTo": { + "@id": "seq:Enable#intEqu.u1" + }, + "S231P:label": "uFreProSta" + }, + { + "@id": "seq:Enable#uOutDam_max", + "@type": "S231P:RealInput", + "qudt:hasUnit": { + "@id": "qudt:1" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "Maximum outdoor air damper position, output from damper position limits sequence", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":-58},{\"x\":-260,\"y\":-18}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-40},{\"x\":-100,\"y\":0}]}}}", + "S231P:isConnectedTo": { + "@id": "seq:Enable#outDamSwitch.u3" + }, + "S231P:label": "uOutDam_max", + "S231P:max": 1, + "S231P:min": 0 + }, + { + "@id": "seq:Enable#uOutDam_min", + "@type": "S231P:RealInput", + "qudt:hasUnit": { + "@id": "qudt:1" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "Minimum outdoor air damper position, output from damper position limits sequence", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":-98},{\"x\":-260,\"y\":-58}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-60},{\"x\":-100,\"y\":-20}]}}}", + "S231P:isConnectedTo": { + "@id": "seq:Enable#outDamSwitch.u1" + }, + "S231P:label": "uOutDam_min", + "S231P:max": 1, + "S231P:min": 0 + }, + { + "@id": "seq:Enable#uRetDam_max", + "@type": "S231P:RealInput", + "qudt:hasUnit": { + "@id": "qudt:1" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "Maximum return air damper position, output from damper position limits sequence", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":-178},{\"x\":-260,\"y\":-138}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-130},{\"x\":-100,\"y\":-90}]}}}", + "S231P:isConnectedTo": [ + { + "@id": "seq:Enable#maxRetDamSwitch.u3" + }, + { + "@id": "seq:Enable#retDamSwitch.u1" + } + ], + "S231P:label": "uRetDam_max", + "S231P:max": 1, + "S231P:min": 0 + }, + { + "@id": "seq:Enable#uRetDam_min", + "@type": "S231P:RealInput", + "qudt:hasUnit": { + "@id": "qudt:1" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "Minimum return air damper position, output from damper position limits sequence", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":-218},{\"x\":-260,\"y\":-178}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-150},{\"x\":-100,\"y\":-110}]}}}", + "S231P:isConnectedTo": { + "@id": "seq:Enable#retDamSwitch.u3" + }, + "S231P:label": "uRetDam_min", + "S231P:max": 1, + "S231P:min": 0 + }, + { + "@id": "seq:Enable#uRetDamPhy_max", + "@type": "S231P:RealInput", + "qudt:hasUnit": { + "@id": "qudt:1" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "Physical maximum return air damper position, output from damper position limits sequence", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":-138},{\"x\":-260,\"y\":-98}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-110},{\"x\":-100,\"y\":-70}]}}}", + "S231P:isConnectedTo": [ + { + "@id": "seq:Enable#maxRetDamSwitch.u1" + }, + { + "@id": "seq:Enable#minRetDamSwitch.u1" + } + ], + "S231P:label": "uRetDamPhy_max", + "S231P:max": 1, + "S231P:min": 0 + }, + { + "@id": "seq:Enable#use_enthalpy", + "S231P:accessSpecifier": "public", + "S231P:description": "Set to true to evaluate outdoor air (OA) enthalpy in addition to temperature", + "S231P:graphics": "{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Conditional\\\"\"}}}}}]}}", + "S231P:isOfDataType": { + "@id": "S231P:Boolean" + }, + "S231P:label": "use_enthalpy", + "S231P:value": true + }, + { + "@id": "seq:Enable#yOutDam_max", + "@type": "S231P:RealOutput", + "qudt:hasUnit": { + "@id": "qudt:1" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "Maximum outdoor air damper position", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":240,\"y\":22},{\"x\":280,\"y\":62}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":80},{\"x\":140,\"y\":120}]}}}", + "S231P:label": "yOutDam_max", + "S231P:max": 1, + "S231P:min": 0 + }, + { + "@id": "seq:Enable#yRetDam_max", + "@type": "S231P:RealOutput", + "qudt:hasUnit": { + "@id": "qudt:1" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "Maximum return air damper position", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":240,\"y\":-38},{\"x\":280,\"y\":2}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}", + "S231P:label": "yRetDam_max", + "S231P:max": 1, + "S231P:min": 0 + }, + { + "@id": "seq:Enable#yRetDam_min", + "@type": "S231P:RealOutput", + "qudt:hasUnit": { + "@id": "qudt:1" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "Minimum return air damper position", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":240,\"y\":-98},{\"x\":280,\"y\":-58}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-120},{\"x\":140,\"y\":-80}]}}}", + "S231P:label": "yRetDam_min", + "S231P:max": 1, + "S231P:min": 0 + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MisplacedInfoWithComponent.jsonld b/test/reference/cxf/test/FromModelica/MisplacedInfoWithComponent.jsonld index 8b6b17da..f09e5c37 100644 --- a/test/reference/cxf/test/FromModelica/MisplacedInfoWithComponent.jsonld +++ b/test/reference/cxf/test/FromModelica/MisplacedInfoWithComponent.jsonld @@ -1 +1,22 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MisplacedInfoWithComponent","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:MisplacedInfoWithComponent#bloPub"}},{"@id":"seq:MisplacedInfoWithComponent#bloPub","@type":"seq:Block1"}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:MisplacedInfoWithComponent", + "@type": "S231P:Block", + "S231P:containsBlock": { + "@id": "seq:MisplacedInfoWithComponent#bloPub" + } + }, + { + "@id": "seq:MisplacedInfoWithComponent#bloPub", + "@type": "seq:Block1", + "S231P:accessSpecifier": "public", + "S231P:description": "A public block", + "S231P:graphics": "{\"name\":\"Documentation\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"info\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"\\n

\\nThis is the info section.\\n

\\n\\\"\"}}}}}]}}", + "S231P:label": "bloPub" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld b/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld index 16e8bbeb..23f37d4e 100644 --- a/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld +++ b/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld @@ -1 +1,79 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MisplacedInfoWithEquation","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:MisplacedInfoWithEquation#gain"},"S231P:hasInput":{"@id":"seq:MisplacedInfoWithEquation#u"},"S231P:hasOutput":[{"@id":"seq:MisplacedInfoWithEquation#y1"},{"@id":"seq:MisplacedInfoWithEquation#y2"}],"S231P:hasParameter":{"@id":"seq:MisplacedInfoWithEquation#k"}},{"@id":"seq:MisplacedInfoWithEquation#gain","@type":"https://data.ashrae.org/S231P#CXF.Reals.MultiplyByParameter"},{"@id":"seq:MisplacedInfoWithEquation#gain.y","S231P:isConnectedTo":{"@id":"seq:MisplacedInfoWithEquation#y1"}},{"@id":"seq:MisplacedInfoWithEquation#k","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:MisplacedInfoWithEquation#u","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:MisplacedInfoWithEquation#gain.u"}},{"@id":"seq:MisplacedInfoWithEquation#y1","@type":"S231P:RealOutput"},{"@id":"seq:MisplacedInfoWithEquation#y2","@type":"S231P:RealOutput"}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:MisplacedInfoWithEquation", + "@type": "S231P:Block", + "S231P:containsBlock": { + "@id": "seq:MisplacedInfoWithEquation#gain" + }, + "S231P:hasInput": { + "@id": "seq:MisplacedInfoWithEquation#u" + }, + "S231P:hasOutput": [ + { + "@id": "seq:MisplacedInfoWithEquation#y1" + }, + { + "@id": "seq:MisplacedInfoWithEquation#y2" + } + ], + "S231P:hasParameter": { + "@id": "seq:MisplacedInfoWithEquation#k" + } + }, + { + "@id": "seq:MisplacedInfoWithEquation#gain", + "@type": "https://data.ashrae.org/S231P#CXF.Reals.MultiplyByParameter", + "S231P:accessSpecifier": "public", + "S231P:description": "Constant gain", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":0,\"y\":-10},{\"x\":20,\"y\":10}]}}}", + "S231P:label": "gain" + }, + { + "@id": "seq:MisplacedInfoWithEquation#gain.y", + "S231P:isConnectedTo": { + "@id": "seq:MisplacedInfoWithEquation#y1" + } + }, + { + "@id": "seq:MisplacedInfoWithEquation#k", + "S231P:accessSpecifier": "public", + "S231P:description": "Constant gain", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "k", + "S231P:value": 2 + }, + { + "@id": "seq:MisplacedInfoWithEquation#u", + "@type": "S231P:RealInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Input signal", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":20},{\"x\":-100,\"y\":60}]}}}", + "S231P:isConnectedTo": { + "@id": "seq:MisplacedInfoWithEquation#gain.u" + }, + "S231P:label": "u" + }, + { + "@id": "seq:MisplacedInfoWithEquation#y1", + "@type": "S231P:RealOutput", + "S231P:accessSpecifier": "public", + "S231P:description": "Output signal", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-10},{\"x\":120,\"y\":10}]}}}", + "S231P:label": "y1" + }, + { + "@id": "seq:MisplacedInfoWithEquation#y2", + "@type": "S231P:RealOutput", + "S231P:accessSpecifier": "public", + "S231P:description": "Output signal", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-10},{\"x\":120,\"y\":10}]}}}", + "S231P:label": "y2" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld b/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld index 7453733e..0ba7218d 100644 --- a/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld +++ b/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld @@ -1 +1,25 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MisplacedInfoWithParameter","@type":"S231P:Block","S231P:hasParameter":{"@id":"seq:MisplacedInfoWithParameter#kP"}},{"@id":"seq:MisplacedInfoWithParameter#kP","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:MisplacedInfoWithParameter", + "@type": "S231P:Block", + "S231P:hasParameter": { + "@id": "seq:MisplacedInfoWithParameter#kP" + } + }, + { + "@id": "seq:MisplacedInfoWithParameter#kP", + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment", + "S231P:graphics": "{\"name\":\"Documentation\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"info\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"\\n

\\nThis is the info section.\\n

\\n\\\"\"}}}}}]}}", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "kP", + "S231P:value": 1 + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MyController.jsonld b/test/reference/cxf/test/FromModelica/MyController.jsonld index a241f26a..0fead6af 100644 --- a/test/reference/cxf/test/FromModelica/MyController.jsonld +++ b/test/reference/cxf/test/FromModelica/MyController.jsonld @@ -1 +1,113 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MyController","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:MyController#add2"},{"@id":"seq:MyController#subCon1"},{"@id":"seq:MyController#subCon2"}],"S231P:hasInput":[{"@id":"seq:MyController#u1"},{"@id":"seq:MyController#u2"}],"S231P:hasOutput":{"@id":"seq:MyController#y"}},{"@id":"seq:MyController#add2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Add"},{"@id":"seq:MyController#add2.y","S231P:isConnectedTo":{"@id":"seq:MyController#y"}},{"@id":"seq:MyController#subCon1","@type":"seq:SubController"},{"@id":"seq:MyController#subCon2","@type":"seq:SubController"},{"@id":"seq:MyController#u1","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:MyController#add2.u1"}},{"@id":"seq:MyController#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:MyController#add2.u2"},{"@id":"seq:MyController#subCon1.u"},{"@id":"seq:MyController#subCon2.u"}]},{"@id":"seq:MyController#y","@type":"S231P:RealOutput"}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:MyController", + "@type": "S231P:Block", + "S231P:containsBlock": [ + { + "@id": "seq:MyController#add2" + }, + { + "@id": "seq:MyController#subCon1" + }, + { + "@id": "seq:MyController#subCon2" + } + ], + "S231P:hasInput": [ + { + "@id": "seq:MyController#u1" + }, + { + "@id": "seq:MyController#u2" + } + ], + "S231P:hasOutput": { + "@id": "seq:MyController#y" + } + }, + { + "@id": "seq:MyController#add2", + "@type": "https://data.ashrae.org/S231P#CXF.Reals.Add", + "S231P:accessSpecifier": "public", + "S231P:description": "Add two real inputs", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-10},{\"x\":10,\"y\":10}]}}}", + "S231P:label": "add2" + }, + { + "@id": "seq:MyController#add2.y", + "S231P:isConnectedTo": { + "@id": "seq:MyController#y" + } + }, + { + "@id": "seq:MyController#subCon1", + "@type": "seq:SubController", + "S231P:accessSpecifier": "public", + "S231P:description": "Sub controller", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-50},{\"x\":10,\"y\":-30}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"generatePointlist\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}" + ], + "S231P:label": "subCon1" + }, + { + "@id": "seq:MyController#subCon2", + "@type": "seq:SubController", + "S231P:accessSpecifier": "public", + "S231P:description": "Sub controller", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-90},{\"x\":10,\"y\":-70}]}}}", + "S231P:label": "subCon2" + }, + { + "@id": "seq:MyController#u1", + "@type": "S231P:RealInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Real input 1", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":20},{\"x\":-100,\"y\":60}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" + ], + "S231P:isConnectedTo": { + "@id": "seq:MyController#add2.u1" + }, + "S231P:label": "u1" + }, + { + "@id": "seq:MyController#u2", + "@type": "S231P:RealInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Real input 2", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-60},{\"x\":-100,\"y\":-20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" + ], + "S231P:isConnectedTo": [ + { + "@id": "seq:MyController#add2.u2" + }, + { + "@id": "seq:MyController#subCon1.u" + }, + { + "@id": "seq:MyController#subCon2.u" + } + ], + "S231P:label": "u2" + }, + { + "@id": "seq:MyController#y", + "@type": "S231P:RealOutput", + "S231P:accessSpecifier": "public", + "S231P:description": "Real output", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" + ], + "S231P:label": "y" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld b/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld index 4bbbc992..4e982732 100644 --- a/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld +++ b/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld @@ -1 +1,113 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MyControllerWithExportAnnotation1","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:MyControllerWithExportAnnotation1#add2"},{"@id":"seq:MyControllerWithExportAnnotation1#subCon1"},{"@id":"seq:MyControllerWithExportAnnotation1#subCon2"}],"S231P:hasInput":[{"@id":"seq:MyControllerWithExportAnnotation1#u1"},{"@id":"seq:MyControllerWithExportAnnotation1#u2"}],"S231P:hasOutput":{"@id":"seq:MyControllerWithExportAnnotation1#y"}},{"@id":"seq:MyControllerWithExportAnnotation1#add2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Add"},{"@id":"seq:MyControllerWithExportAnnotation1#add2.y","S231P:isConnectedTo":{"@id":"seq:MyControllerWithExportAnnotation1#y"}},{"@id":"seq:MyControllerWithExportAnnotation1#subCon1","@type":"seq:SubController"},{"@id":"seq:MyControllerWithExportAnnotation1#subCon2","@type":"seq:SubController"},{"@id":"seq:MyControllerWithExportAnnotation1#u1","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:MyControllerWithExportAnnotation1#add2.u1"}},{"@id":"seq:MyControllerWithExportAnnotation1#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:MyControllerWithExportAnnotation1#add2.u2"},{"@id":"seq:MyControllerWithExportAnnotation1#subCon1.u"},{"@id":"seq:MyControllerWithExportAnnotation1#subCon2.u"}]},{"@id":"seq:MyControllerWithExportAnnotation1#y","@type":"S231P:RealOutput"}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:MyControllerWithExportAnnotation1", + "@type": "S231P:Block", + "S231P:containsBlock": [ + { + "@id": "seq:MyControllerWithExportAnnotation1#add2" + }, + { + "@id": "seq:MyControllerWithExportAnnotation1#subCon1" + }, + { + "@id": "seq:MyControllerWithExportAnnotation1#subCon2" + } + ], + "S231P:hasInput": [ + { + "@id": "seq:MyControllerWithExportAnnotation1#u1" + }, + { + "@id": "seq:MyControllerWithExportAnnotation1#u2" + } + ], + "S231P:hasOutput": { + "@id": "seq:MyControllerWithExportAnnotation1#y" + } + }, + { + "@id": "seq:MyControllerWithExportAnnotation1#add2", + "@type": "https://data.ashrae.org/S231P#CXF.Reals.Add", + "S231P:accessSpecifier": "public", + "S231P:description": "Add two real inputs", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-10},{\"x\":10,\"y\":10}]}}}", + "S231P:label": "add2" + }, + { + "@id": "seq:MyControllerWithExportAnnotation1#add2.y", + "S231P:isConnectedTo": { + "@id": "seq:MyControllerWithExportAnnotation1#y" + } + }, + { + "@id": "seq:MyControllerWithExportAnnotation1#subCon1", + "@type": "seq:SubController", + "S231P:accessSpecifier": "public", + "S231P:description": "Sub controller", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-50},{\"x\":10,\"y\":-30}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"generatePointlist\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"export\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}" + ], + "S231P:label": "subCon1" + }, + { + "@id": "seq:MyControllerWithExportAnnotation1#subCon2", + "@type": "seq:SubController", + "S231P:accessSpecifier": "public", + "S231P:description": "Sub controller", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-90},{\"x\":10,\"y\":-70}]}}}", + "S231P:label": "subCon2" + }, + { + "@id": "seq:MyControllerWithExportAnnotation1#u1", + "@type": "S231P:RealInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Real input 1", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":20},{\"x\":-100,\"y\":60}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" + ], + "S231P:isConnectedTo": { + "@id": "seq:MyControllerWithExportAnnotation1#add2.u1" + }, + "S231P:label": "u1" + }, + { + "@id": "seq:MyControllerWithExportAnnotation1#u2", + "@type": "S231P:RealInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Real input 2", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-60},{\"x\":-100,\"y\":-20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" + ], + "S231P:isConnectedTo": [ + { + "@id": "seq:MyControllerWithExportAnnotation1#add2.u2" + }, + { + "@id": "seq:MyControllerWithExportAnnotation1#subCon1.u" + }, + { + "@id": "seq:MyControllerWithExportAnnotation1#subCon2.u" + } + ], + "S231P:label": "u2" + }, + { + "@id": "seq:MyControllerWithExportAnnotation1#y", + "@type": "S231P:RealOutput", + "S231P:accessSpecifier": "public", + "S231P:description": "Real output", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" + ], + "S231P:label": "y" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld b/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld index 7611f351..fb49904a 100644 --- a/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld +++ b/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld @@ -1 +1,113 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:MyControllerWithSemantics","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:MyControllerWithSemantics#add2"},{"@id":"seq:MyControllerWithSemantics#heaCoi"},{"@id":"seq:MyControllerWithSemantics#subCon2"}],"S231P:hasInput":[{"@id":"seq:MyControllerWithSemantics#u1"},{"@id":"seq:MyControllerWithSemantics#u2"}],"S231P:hasOutput":{"@id":"seq:MyControllerWithSemantics#y"}},{"@id":"seq:MyControllerWithSemantics#add2","@type":"https://data.ashrae.org/S231P#CXF.Reals.Add"},{"@id":"seq:MyControllerWithSemantics#add2.y","S231P:isConnectedTo":{"@id":"seq:MyControllerWithSemantics#y"}},{"@id":"seq:MyControllerWithSemantics#heaCoi","@type":"seq:SubController"},{"@id":"seq:MyControllerWithSemantics#subCon2","@type":"seq:SubControllerWithSemantics"},{"@id":"seq:MyControllerWithSemantics#u1","@type":"S231P:RealInput","S231P:isConnectedTo":{"@id":"seq:MyControllerWithSemantics#add2.u1"}},{"@id":"seq:MyControllerWithSemantics#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:MyControllerWithSemantics#add2.u2"},{"@id":"seq:MyControllerWithSemantics#heaCoi.u"},{"@id":"seq:MyControllerWithSemantics#subCon2.u"}]},{"@id":"seq:MyControllerWithSemantics#y","@type":"S231P:RealOutput"}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:MyControllerWithSemantics", + "@type": "S231P:Block", + "S231P:containsBlock": [ + { + "@id": "seq:MyControllerWithSemantics#add2" + }, + { + "@id": "seq:MyControllerWithSemantics#heaCoi" + }, + { + "@id": "seq:MyControllerWithSemantics#subCon2" + } + ], + "S231P:hasInput": [ + { + "@id": "seq:MyControllerWithSemantics#u1" + }, + { + "@id": "seq:MyControllerWithSemantics#u2" + } + ], + "S231P:hasOutput": { + "@id": "seq:MyControllerWithSemantics#y" + } + }, + { + "@id": "seq:MyControllerWithSemantics#add2", + "@type": "https://data.ashrae.org/S231P#CXF.Reals.Add", + "S231P:accessSpecifier": "public", + "S231P:description": "Add two real inputs", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-10},{\"x\":10,\"y\":10}]}}}", + "S231P:label": "add2" + }, + { + "@id": "seq:MyControllerWithSemantics#add2.y", + "S231P:isConnectedTo": { + "@id": "seq:MyControllerWithSemantics#y" + } + }, + { + "@id": "seq:MyControllerWithSemantics#heaCoi", + "@type": "seq:SubController", + "S231P:accessSpecifier": "public", + "S231P:description": "Heating Coil", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-50},{\"x\":10,\"y\":-30}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"generatePointlist\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"semantic\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"metadataLanguage\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Brick 1.3 text/turtle\\\"\"}},\"description_string\":\"bldg: a Brick:Heating_Coil .\"}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"naturalLanguage\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"en\\\"\"}},\"description_string\":\" is a heating coil.\"}}}]}}}}]}}" + ], + "S231P:label": "heaCoi" + }, + { + "@id": "seq:MyControllerWithSemantics#subCon2", + "@type": "seq:SubControllerWithSemantics", + "S231P:accessSpecifier": "public", + "S231P:description": "Cooling Coil", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-90},{\"x\":10,\"y\":-70}]}}}", + "S231P:label": "subCon2" + }, + { + "@id": "seq:MyControllerWithSemantics#u1", + "@type": "S231P:RealInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Real input 1", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":20},{\"x\":-100,\"y\":60}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"semantic\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"metadataLanguage\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Brick 1.3 text/turtle\\\"\"}},\"description_string\":\"bldg: a Brick:Temperature_Sensor .\"}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"naturalLanguage\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"en\\\"\"}},\"description_string\":\" is a temperature sensor input\"}}}]}}}}]}}" + ], + "S231P:isConnectedTo": { + "@id": "seq:MyControllerWithSemantics#add2.u1" + }, + "S231P:label": "u1" + }, + { + "@id": "seq:MyControllerWithSemantics#u2", + "@type": "S231P:RealInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Real input 2", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-60},{\"x\":-100,\"y\":-20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"semantic\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"naturalLanguage\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"en\\\"\"}},\"description_string\":\" is a temperature sensor input\"}}}]}}}}]}}" + ], + "S231P:isConnectedTo": [ + { + "@id": "seq:MyControllerWithSemantics#add2.u2" + }, + { + "@id": "seq:MyControllerWithSemantics#heaCoi.u" + }, + { + "@id": "seq:MyControllerWithSemantics#subCon2.u" + } + ], + "S231P:label": "u2" + }, + { + "@id": "seq:MyControllerWithSemantics#y", + "@type": "S231P:RealOutput", + "S231P:accessSpecifier": "public", + "S231P:description": "Real output", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" + ], + "S231P:label": "y" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/NoClassComment.jsonld b/test/reference/cxf/test/FromModelica/NoClassComment.jsonld index f4964e5c..8bc2aa47 100644 --- a/test/reference/cxf/test/FromModelica/NoClassComment.jsonld +++ b/test/reference/cxf/test/FromModelica/NoClassComment.jsonld @@ -1 +1,24 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:NoClassComment","@type":"S231P:Block","S231P:hasParameter":{"@id":"seq:NoClassComment#kP"}},{"@id":"seq:NoClassComment#kP","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:NoClassComment", + "@type": "S231P:Block", + "S231P:hasParameter": { + "@id": "seq:NoClassComment#kP" + } + }, + { + "@id": "seq:NoClassComment#kP", + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "kP", + "S231P:value": 1 + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/NoWithin.jsonld b/test/reference/cxf/test/FromModelica/NoWithin.jsonld index 35e7888f..97ee12b0 100644 --- a/test/reference/cxf/test/FromModelica/NoWithin.jsonld +++ b/test/reference/cxf/test/FromModelica/NoWithin.jsonld @@ -1 +1,27 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:FromModelica","S231P:hasConstant":{"@id":"seq:FromModelica#one"}},{"@id":"seq:FromModelica#one","S231P:isOfDataType":{"@id":"S231P:Integer"}},{"@id":"seq:NoWithin","@type":"S231P:Block"}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:FromModelica", + "S231P:hasConstant": { + "@id": "seq:FromModelica#one" + } + }, + { + "@id": "seq:FromModelica#one", + "S231P:accessSpecifier": "public", + "S231P:description": "An integer constant with value 1", + "S231P:isOfDataType": { + "@id": "S231P:Integer" + }, + "S231P:label": "one", + "S231P:value": 1 + }, + { + "@id": "seq:NoWithin", + "@type": "S231P:Block" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/Parameter1.jsonld b/test/reference/cxf/test/FromModelica/Parameter1.jsonld index d928dfa8..c8465ccc 100644 --- a/test/reference/cxf/test/FromModelica/Parameter1.jsonld +++ b/test/reference/cxf/test/FromModelica/Parameter1.jsonld @@ -1 +1,24 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:Parameter1","@type":"S231P:Block","S231P:hasParameter":{"@id":"seq:Parameter1#kP"}},{"@id":"seq:Parameter1#kP","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:Parameter1", + "@type": "S231P:Block", + "S231P:hasParameter": { + "@id": "seq:Parameter1#kP" + } + }, + { + "@id": "seq:Parameter1#kP", + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "kP", + "S231P:value": 1 + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld b/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld index 8258f2f7..66ae25de 100644 --- a/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld +++ b/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld @@ -1 +1,25 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:Parameter1WithVendorAnnotation","@type":"S231P:Block","S231P:hasParameter":{"@id":"seq:Parameter1WithVendorAnnotation#kP"}},{"@id":"seq:Parameter1WithVendorAnnotation#kP","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:Parameter1WithVendorAnnotation", + "@type": "S231P:Block", + "S231P:hasParameter": { + "@id": "seq:Parameter1WithVendorAnnotation#kP" + } + }, + { + "@id": "seq:Parameter1WithVendorAnnotation#kP", + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment", + "S231P:graphics": "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"haystack\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"{ \\\\\\\"dis\\\\\\\": \\\\\\\"site\\\\\\\",\\n \\\\\\\"area\\\\\\\": 400 }\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"brick\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"xxxxx\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"point\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"digital\"}}}}}]}}", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "kP", + "S231P:value": 1 + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/Parameter2.jsonld b/test/reference/cxf/test/FromModelica/Parameter2.jsonld index 3d2bc353..b05d5a44 100644 --- a/test/reference/cxf/test/FromModelica/Parameter2.jsonld +++ b/test/reference/cxf/test/FromModelica/Parameter2.jsonld @@ -1 +1,132 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:Parameter2","@type":"S231P:Block","S231P:hasParameter":[{"@id":"seq:Parameter2#myPar1"},{"@id":"seq:Parameter2#myParInGroup"},{"@id":"seq:Parameter2#myParInTab"},{"@id":"seq:Parameter2#myParInTabInGroup1"},{"@id":"seq:Parameter2#myParInTabInGroup2"},{"@id":"seq:Parameter2#myParMax"},{"@id":"seq:Parameter2#myParMin"},{"@id":"seq:Parameter2#myParNoValue"},{"@id":"seq:Parameter2#myParUnit"}]},{"@id":"seq:Parameter2#myPar1","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Parameter2#myParInGroup","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Parameter2#myParInTab","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Parameter2#myParInTabInGroup1","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Parameter2#myParInTabInGroup2","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Parameter2#myParMax","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Parameter2#myParMin","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Parameter2#myParNoValue","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:Parameter2#myParUnit","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#", + "qudt": "http://qudt.org/schema/qudt#" + }, + "@graph": [ + { + "@id": "seq:Parameter2", + "@type": "S231P:Block", + "S231P:hasParameter": [ + { + "@id": "seq:Parameter2#myPar1" + }, + { + "@id": "seq:Parameter2#myParInGroup" + }, + { + "@id": "seq:Parameter2#myParInTab" + }, + { + "@id": "seq:Parameter2#myParInTabInGroup1" + }, + { + "@id": "seq:Parameter2#myParInTabInGroup2" + }, + { + "@id": "seq:Parameter2#myParMax" + }, + { + "@id": "seq:Parameter2#myParMin" + }, + { + "@id": "seq:Parameter2#myParNoValue" + }, + { + "@id": "seq:Parameter2#myParUnit" + } + ] + }, + { + "@id": "seq:Parameter2#myPar1", + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "myPar1", + "S231P:value": 1 + }, + { + "@id": "seq:Parameter2#myParInGroup", + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment", + "S231P:graphics": "{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Gains\\\"\"}}}}}]}}", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "myParInGroup" + }, + { + "@id": "seq:Parameter2#myParInTab", + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment", + "S231P:graphics": "{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Initialization tab\\\"\"}}}}}]}}", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "myParInTab" + }, + { + "@id": "seq:Parameter2#myParInTabInGroup1", + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment 1", + "S231P:graphics": "{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Initialization tab\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Initial state\\\"\"}}}}}]}}", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "myParInTabInGroup1" + }, + { + "@id": "seq:Parameter2#myParInTabInGroup2", + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment 2", + "S231P:graphics": "{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Initialization tab\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Initial state\\\"\"}}}}}]}}", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "myParInTabInGroup2" + }, + { + "@id": "seq:Parameter2#myParMax", + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "myParMax", + "S231P:max": 0 + }, + { + "@id": "seq:Parameter2#myParMin", + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "myParMin", + "S231P:min": 0 + }, + { + "@id": "seq:Parameter2#myParNoValue", + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "myParNoValue" + }, + { + "@id": "seq:Parameter2#myParUnit", + "qudt:hasUnit": { + "@id": "qudt:K" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "myParUnit" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/Parameter3.jsonld b/test/reference/cxf/test/FromModelica/Parameter3.jsonld index 3ed68f14..718dffca 100644 --- a/test/reference/cxf/test/FromModelica/Parameter3.jsonld +++ b/test/reference/cxf/test/FromModelica/Parameter3.jsonld @@ -1 +1,35 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:Parameter3","@type":"S231P:Block","S231P:hasParameter":[{"@id":"seq:Parameter3#myPar1"},{"@id":"seq:Parameter3#myParUnit"}]},{"@id":"seq:Parameter3#myPar1","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:Parameter3", + "@type": "S231P:Block", + "S231P:hasParameter": [ + { + "@id": "seq:Parameter3#myPar1" + }, + { + "@id": "seq:Parameter3#myParUnit" + } + ] + }, + { + "@id": "seq:Parameter3#myPar1", + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "myPar1", + "S231P:value": 1 + }, + { + "@id": "seq:Parameter3#myParUnit", + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment", + "S231P:label": "myParUnit" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld index b821449e..34c60f27 100644 --- a/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld +++ b/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld @@ -1 +1,42 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:ParameterWithAttributes","@type":"S231P:Block","S231P:hasParameter":{"@id":"seq:ParameterWithAttributes#kP"}},{"@id":"seq:ParameterWithAttributes#kP","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#", + "qudt": "http://qudt.org/schema/qudt#" + }, + "@graph": [ + { + "@id": "seq:ParameterWithAttributes", + "@type": "S231P:Block", + "S231P:hasParameter": { + "@id": "seq:ParameterWithAttributes#kP" + } + }, + { + "@id": "seq:ParameterWithAttributes#kP", + "qudt:hasQuantityKind": { + "@id": "qudt:PressureDifference" + }, + "qudt:hasUnit": { + "@id": "qudt:Pa" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment", + "S231P:fixed": false, + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "kP", + "S231P:max": 2, + "S231P:min": 0, + "S231P:nominal": { + "@value": "0.5", + "@type": "http://www.w3.org/2001/XMLSchema#decimal" + }, + "S231P:start": { + "@value": "0.2", + "@type": "http://www.w3.org/2001/XMLSchema#decimal" + }, + "S231P:value": 1 + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld index 63b7674e..1f1a6d15 100644 --- a/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld +++ b/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld @@ -1 +1,24 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:ParameterWithDefaultName","@type":"S231P:Block","S231P:hasParameter":{"@id":"seq:ParameterWithDefaultName#kP"}},{"@id":"seq:ParameterWithDefaultName#kP","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:ParameterWithDefaultName", + "@type": "S231P:Block", + "S231P:hasParameter": { + "@id": "seq:ParameterWithDefaultName#kP" + } + }, + { + "@id": "seq:ParameterWithDefaultName#kP", + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "kP", + "S231P:value": 1 + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld index 0805755a..125ac3da 100644 --- a/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld +++ b/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld @@ -1 +1,24 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:ParameterWithInfo","@type":"S231P:Block","S231P:hasParameter":{"@id":"seq:ParameterWithInfo#kP"}},{"@id":"seq:ParameterWithInfo#kP","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:ParameterWithInfo", + "@type": "S231P:Block", + "S231P:hasParameter": { + "@id": "seq:ParameterWithInfo#kP" + } + }, + { + "@id": "seq:ParameterWithInfo#kP", + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "kP", + "S231P:value": 1 + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld index faf38023..b77fa365 100644 --- a/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld +++ b/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld @@ -1 +1,24 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:ParameterWithVendorAnnotationInInfo","@type":"S231P:Block","S231P:hasParameter":{"@id":"seq:ParameterWithVendorAnnotationInInfo#kP"}},{"@id":"seq:ParameterWithVendorAnnotationInInfo#kP","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:ParameterWithVendorAnnotationInInfo", + "@type": "S231P:Block", + "S231P:hasParameter": { + "@id": "seq:ParameterWithVendorAnnotationInInfo#kP" + } + }, + { + "@id": "seq:ParameterWithVendorAnnotationInInfo#kP", + "S231P:accessSpecifier": "public", + "S231P:description": "Some comment", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "kP", + "S231P:value": 1 + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/PointList.jsonld b/test/reference/cxf/test/FromModelica/PointList.jsonld index 6d02f4c5..54c9ebd7 100644 --- a/test/reference/cxf/test/FromModelica/PointList.jsonld +++ b/test/reference/cxf/test/FromModelica/PointList.jsonld @@ -1 +1,129 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:PointList","@type":"S231P:Block","S231P:containsBlock":[{"@id":"seq:PointList#con1"},{"@id":"seq:PointList#con2"}],"S231P:hasInput":[{"@id":"seq:PointList#u1"},{"@id":"seq:PointList#u2"}],"S231P:hasOutput":[{"@id":"seq:PointList#y1"},{"@id":"seq:PointList#y2"}]},{"@id":"seq:PointList#con1","@type":"seq:MyController"},{"@id":"seq:PointList#con1.y","S231P:isConnectedTo":{"@id":"seq:PointList#y2"}},{"@id":"seq:PointList#con2","@type":"seq:MyController"},{"@id":"seq:PointList#con2.y","S231P:isConnectedTo":{"@id":"seq:PointList#y1"}},{"@id":"seq:PointList#u1","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:PointList#con1.u1"},{"@id":"seq:PointList#con2.u1"}]},{"@id":"seq:PointList#u2","@type":"S231P:RealInput","S231P:isConnectedTo":[{"@id":"seq:PointList#con1.u2"},{"@id":"seq:PointList#con2.u2"}]},{"@id":"seq:PointList#y1","@type":"S231P:RealOutput"},{"@id":"seq:PointList#y2","@type":"S231P:RealOutput"}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:PointList", + "@type": "S231P:Block", + "S231P:containsBlock": [ + { + "@id": "seq:PointList#con1" + }, + { + "@id": "seq:PointList#con2" + } + ], + "S231P:hasInput": [ + { + "@id": "seq:PointList#u1" + }, + { + "@id": "seq:PointList#u2" + } + ], + "S231P:hasOutput": [ + { + "@id": "seq:PointList#y1" + }, + { + "@id": "seq:PointList#y2" + } + ] + }, + { + "@id": "seq:PointList#con1", + "@type": "seq:MyController", + "S231P:accessSpecifier": "public", + "S231P:description": "Subcontroller one", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":50},{\"x\":10,\"y\":70}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"propagate\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"instance\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"subCon1\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"generatePointlist\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"propagate\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"instance\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"subCon2\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"generatePointlist\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"propagate\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"instance\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"subCon2.u\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"120\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}}}]}}" + ], + "S231P:label": "con1" + }, + { + "@id": "seq:PointList#con1.y", + "S231P:isConnectedTo": { + "@id": "seq:PointList#y2" + } + }, + { + "@id": "seq:PointList#con2", + "@type": "seq:MyController", + "S231P:accessSpecifier": "public", + "S231P:description": "Subcontroller two", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-70},{\"x\":10,\"y\":-50}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"generatePointlist\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}" + ], + "S231P:label": "con2" + }, + { + "@id": "seq:PointList#con2.y", + "S231P:isConnectedTo": { + "@id": "seq:PointList#y1" + } + }, + { + "@id": "seq:PointList#u1", + "@type": "S231P:RealInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Input one", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" + ], + "S231P:isConnectedTo": [ + { + "@id": "seq:PointList#con1.u1" + }, + { + "@id": "seq:PointList#con2.u1" + } + ], + "S231P:label": "u1" + }, + { + "@id": "seq:PointList#u2", + "@type": "S231P:RealInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Input two", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"false\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"120\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" + ], + "S231P:isConnectedTo": [ + { + "@id": "seq:PointList#con1.u2" + }, + { + "@id": "seq:PointList#con2.u2" + } + ], + "S231P:label": "u2" + }, + { + "@id": "seq:PointList#y1", + "@type": "S231P:RealOutput", + "S231P:accessSpecifier": "public", + "S231P:description": "Output one", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-80},{\"x\":140,\"y\":-40}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":40},{\"x\":140,\"y\":80}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" + ], + "S231P:label": "y1" + }, + { + "@id": "seq:PointList#y2", + "@type": "S231P:RealOutput", + "S231P:accessSpecifier": "public", + "S231P:description": "Output two", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":40},{\"x\":140,\"y\":80}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-80},{\"x\":140,\"y\":-40}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"false\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" + ], + "S231P:label": "y2" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld b/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld index c3fc8cf6..f9279959 100644 --- a/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld +++ b/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld @@ -1 +1,145 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:RemovableInputs","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:RemovableInputs#abs"},"S231P:hasInput":[{"@id":"seq:RemovableInputs#nOcc"},{"@id":"seq:RemovableInputs#TOut"},{"@id":"seq:RemovableInputs#TOutWitDef"},{"@id":"seq:RemovableInputs#u"},{"@id":"seq:RemovableInputs#uWin"}],"S231P:hasOutput":{"@id":"seq:RemovableInputs#y"},"S231P:hasParameter":[{"@id":"seq:RemovableInputs#enaBlo"},{"@id":"seq:RemovableInputs#have_occSen"},{"@id":"seq:RemovableInputs#have_winSen"}]},{"@id":"seq:RemovableInputs#abs","@type":"https://data.ashrae.org/S231P#CXF.Reals.Abs"},{"@id":"seq:RemovableInputs#enaBlo","S231P:isOfDataType":{"@id":"S231P:Boolean"}},{"@id":"seq:RemovableInputs#have_occSen","S231P:isOfDataType":{"@id":"S231P:Boolean"}},{"@id":"seq:RemovableInputs#have_winSen","S231P:isOfDataType":{"@id":"S231P:Boolean"}},{"@id":"seq:RemovableInputs#nOcc","@type":"S231P:IntegerInput"},{"@id":"seq:RemovableInputs#TOut","@type":"S231P:RealInput"},{"@id":"seq:RemovableInputs#TOutWitDef","@type":"S231P:RealInput"},{"@id":"seq:RemovableInputs#u","@type":"S231P:RealInput"},{"@id":"seq:RemovableInputs#uWin","@type":"S231P:BooleanInput"},{"@id":"seq:RemovableInputs#y","@type":"S231P:RealOutput"}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#", + "qudt": "http://qudt.org/schema/qudt#" + }, + "@graph": [ + { + "@id": "seq:RemovableInputs", + "@type": "S231P:Block", + "S231P:containsBlock": { + "@id": "seq:RemovableInputs#abs" + }, + "S231P:hasInput": [ + { + "@id": "seq:RemovableInputs#nOcc" + }, + { + "@id": "seq:RemovableInputs#TOut" + }, + { + "@id": "seq:RemovableInputs#TOutWitDef" + }, + { + "@id": "seq:RemovableInputs#u" + }, + { + "@id": "seq:RemovableInputs#uWin" + } + ], + "S231P:hasOutput": { + "@id": "seq:RemovableInputs#y" + }, + "S231P:hasParameter": [ + { + "@id": "seq:RemovableInputs#enaBlo" + }, + { + "@id": "seq:RemovableInputs#have_occSen" + }, + { + "@id": "seq:RemovableInputs#have_winSen" + } + ] + }, + { + "@id": "seq:RemovableInputs#abs", + "@type": "https://data.ashrae.org/S231P#CXF.Reals.Abs", + "S231P:accessSpecifier": "public", + "S231P:description": "Instance could be conditional disabled", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-8,\"y\":-10},{\"x\":12,\"y\":10}]}}}", + "S231P:label": "abs" + }, + { + "@id": "seq:RemovableInputs#enaBlo", + "S231P:accessSpecifier": "public", + "S231P:description": "Flag for enabling instance", + "S231P:isOfDataType": { + "@id": "S231P:Boolean" + }, + "S231P:label": "enaBlo", + "S231P:value": true + }, + { + "@id": "seq:RemovableInputs#have_occSen", + "S231P:accessSpecifier": "public", + "S231P:description": "True: there is occupancy sensor", + "S231P:isOfDataType": { + "@id": "S231P:Boolean" + }, + "S231P:label": "have_occSen" + }, + { + "@id": "seq:RemovableInputs#have_winSen", + "S231P:accessSpecifier": "public", + "S231P:description": "True: there is window status sensor", + "S231P:isOfDataType": { + "@id": "S231P:Boolean" + }, + "S231P:label": "have_winSen" + }, + { + "@id": "seq:RemovableInputs#nOcc", + "@type": "S231P:IntegerInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Occupancy", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":60},{\"x\":-100,\"y\":100}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":60},{\"x\":-100,\"y\":100}]}}}", + "S231P:label": "nOcc" + }, + { + "@id": "seq:RemovableInputs#TOut", + "@type": "S231P:RealInput", + "qudt:hasQuantityKind": { + "@id": "qudt:ThermodynamicTemperature" + }, + "qudt:hasUnit": { + "@id": "qudt:K" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "Temperature input", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":20},{\"x\":-100,\"y\":60}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":20},{\"x\":-100,\"y\":60}]}}}", + "S231P:label": "TOut" + }, + { + "@id": "seq:RemovableInputs#TOutWitDef", + "@type": "S231P:RealInput", + "qudt:hasQuantityKind": { + "@id": "qudt:ThermodynamicTemperature" + }, + "qudt:hasUnit": { + "@id": "qudt:K" + }, + "S231P:accessSpecifier": "public", + "S231P:description": "Temperature input with specified default value", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-70},{\"x\":-100,\"y\":-30}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"default\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"300.15\"}}}}}]}}" + ], + "S231P:label": "TOutWitDef" + }, + { + "@id": "seq:RemovableInputs#u", + "@type": "S231P:RealInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Input connector", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-40},{\"x\":-100,\"y\":0}]}}}", + "S231P:label": "u" + }, + { + "@id": "seq:RemovableInputs#uWin", + "@type": "S231P:BooleanInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Window opening status", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-110},{\"x\":-100,\"y\":-70}]}}}", + "S231P:label": "uWin" + }, + { + "@id": "seq:RemovableInputs#y", + "@type": "S231P:RealOutput", + "S231P:accessSpecifier": "public", + "S231P:description": "Output connector", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-10},{\"x\":120,\"y\":10}]}}}", + "S231P:label": "y" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/SubController.jsonld b/test/reference/cxf/test/FromModelica/SubController.jsonld index 9392a238..cebc1870 100644 --- a/test/reference/cxf/test/FromModelica/SubController.jsonld +++ b/test/reference/cxf/test/FromModelica/SubController.jsonld @@ -1 +1,39 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:SubController","@type":"S231P:Block","S231P:hasInput":{"@id":"seq:SubController#u"},"S231P:hasOutput":{"@id":"seq:SubController#y"}},{"@id":"seq:SubController#u","@type":"S231P:RealInput"},{"@id":"seq:SubController#y","@type":"S231P:RealOutput"}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:SubController", + "@type": "S231P:Block", + "S231P:hasInput": { + "@id": "seq:SubController#u" + }, + "S231P:hasOutput": { + "@id": "seq:SubController#y" + } + }, + { + "@id": "seq:SubController#u", + "@type": "S231P:RealInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Real input", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" + ], + "S231P:label": "u" + }, + { + "@id": "seq:SubController#y", + "@type": "S231P:RealOutput", + "S231P:accessSpecifier": "public", + "S231P:description": "Real output", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" + ], + "S231P:label": "y" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/SubControllerWithSemantics.jsonld b/test/reference/cxf/test/FromModelica/SubControllerWithSemantics.jsonld index 4b9c8641..558bcb12 100644 --- a/test/reference/cxf/test/FromModelica/SubControllerWithSemantics.jsonld +++ b/test/reference/cxf/test/FromModelica/SubControllerWithSemantics.jsonld @@ -1 +1,39 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:SubControllerWithSemantics","@type":"S231P:Block","S231P:hasInput":{"@id":"seq:SubControllerWithSemantics#u"},"S231P:hasOutput":{"@id":"seq:SubControllerWithSemantics#y"}},{"@id":"seq:SubControllerWithSemantics#u","@type":"S231P:RealInput"},{"@id":"seq:SubControllerWithSemantics#y","@type":"S231P:RealOutput"}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:SubControllerWithSemantics", + "@type": "S231P:Block", + "S231P:hasInput": { + "@id": "seq:SubControllerWithSemantics#u" + }, + "S231P:hasOutput": { + "@id": "seq:SubControllerWithSemantics#y" + } + }, + { + "@id": "seq:SubControllerWithSemantics#u", + "@type": "S231P:RealInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Real input", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" + ], + "S231P:label": "u" + }, + { + "@id": "seq:SubControllerWithSemantics#y", + "@type": "S231P:RealOutput", + "S231P:accessSpecifier": "public", + "S231P:description": "Real output", + "S231P:graphics": [ + "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}", + "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" + ], + "S231P:label": "y" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld index 2e51504b..e087ecb9 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld @@ -1 +1,34 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:TestEvaluation_1","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:TestEvaluation_1#con"},"S231P:hasParameter":{"@id":"seq:TestEvaluation_1#k1"}},{"@id":"seq:TestEvaluation_1#con","@type":"seq:Buildings.Controls.OBC.CDL.Reals.Sources.Constant"},{"@id":"seq:TestEvaluation_1#k1","S231P:isOfDataType":{"@id":"S231P:Real"}}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:TestEvaluation_1", + "@type": "S231P:Block", + "S231P:containsBlock": { + "@id": "seq:TestEvaluation_1#con" + }, + "S231P:hasParameter": { + "@id": "seq:TestEvaluation_1#k1" + } + }, + { + "@id": "seq:TestEvaluation_1#con", + "@type": "seq:Buildings.Controls.OBC.CDL.Reals.Sources.Constant", + "S231P:accessSpecifier": "public", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-20,\"y\":10},{\"x\":0,\"y\":30}]}}}", + "S231P:label": "con" + }, + { + "@id": "seq:TestEvaluation_1#k1", + "S231P:accessSpecifier": "public", + "S231P:description": "Constant output value", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "k1", + "S231P:value": 1 + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld index 4e6f8479..582e6e22 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld @@ -1 +1,87 @@ -{"@context":{"S231P":"https://data.ashrae.org/S231P#"},"@graph":[{"@id":"seq:TestEvaluation_2","@type":"S231P:Block","S231P:containsBlock":{"@id":"seq:TestEvaluation_2#hys"},"S231P:hasInput":{"@id":"seq:TestEvaluation_2#u"},"S231P:hasOutput":{"@id":"seq:TestEvaluation_2#y"},"S231P:hasParameter":[{"@id":"seq:TestEvaluation_2#uHigh"},{"@id":"seq:TestEvaluation_2#uLow"}]},{"@id":"seq:TestEvaluation_2#hys","@type":"https://data.ashrae.org/S231P#CXF.Reals.Hysteresis"},{"@id":"seq:TestEvaluation_2#hys.u","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_2#u"}},{"@id":"seq:TestEvaluation_2#hys.y","S231P:isConnectedTo":{"@id":"seq:TestEvaluation_2#y"}},{"@id":"seq:TestEvaluation_2#u","@type":"S231P:RealInput"},{"@id":"seq:TestEvaluation_2#uHigh","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_2#uLow","S231P:isOfDataType":{"@id":"S231P:Real"}},{"@id":"seq:TestEvaluation_2#y","@type":"S231P:BooleanOutput"}]} \ No newline at end of file +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "seq:TestEvaluation_2", + "@type": "S231P:Block", + "S231P:containsBlock": { + "@id": "seq:TestEvaluation_2#hys" + }, + "S231P:hasInput": { + "@id": "seq:TestEvaluation_2#u" + }, + "S231P:hasOutput": { + "@id": "seq:TestEvaluation_2#y" + }, + "S231P:hasParameter": [ + { + "@id": "seq:TestEvaluation_2#uHigh" + }, + { + "@id": "seq:TestEvaluation_2#uLow" + } + ] + }, + { + "@id": "seq:TestEvaluation_2#hys", + "@type": "https://data.ashrae.org/S231P#CXF.Reals.Hysteresis", + "S231P:accessSpecifier": "public", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-10},{\"x\":10,\"y\":10}]}}}", + "S231P:label": "hys" + }, + { + "@id": "seq:TestEvaluation_2#hys.u", + "S231P:isConnectedTo": { + "@id": "seq:TestEvaluation_2#u" + } + }, + { + "@id": "seq:TestEvaluation_2#hys.y", + "S231P:isConnectedTo": { + "@id": "seq:TestEvaluation_2#y" + } + }, + { + "@id": "seq:TestEvaluation_2#u", + "@type": "S231P:RealInput", + "S231P:accessSpecifier": "public", + "S231P:description": "Real input signal", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":-118,\"y\":-20},{\"x\":-78,\"y\":20}]}}}", + "S231P:label": "u" + }, + { + "@id": "seq:TestEvaluation_2#uHigh", + "S231P:accessSpecifier": "public", + "S231P:description": "if y=false and u>uHigh, switch to y=true", + "S231P:isOfDataType": { + "@id": "S231P:Real" + }, + "S231P:label": "uHigh", + "S231P:value": "2*uLow" + }, + { + "@id": "seq:TestEvaluation_2#uLow", + "S231P:accessSpecifier": "public", + "S231P:description": "if y=true and u\n

\nThis block outputs the cooling coil control signal if the fan is on and the zone is\nin cooling status (see\n\nBuildings.Controls.OBC.ASHRAE.G36.Types.ZoneStates).\nOtherwise, the control signal for the coil is set to 0.\nThe implementation is according to the Section 5.18.5.3 of ASHRAE Guideline 36, May 2020.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nAugust 1, 2020, by Jianjun Hu:
    \nFirst implementation based on G36 official version.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/ASHRAE/G36/AHUs/SingleZone/VAV/SetPoints/CoolingCoil.mo", + "checksum": "5a6b45141ecae64279c8ff6592df112c" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Constants.json b/test/reference/json/Buildings/Controls/OBC/CDL/Constants.json new file mode 100644 index 00000000..13142a8f --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Constants.json @@ -0,0 +1,403 @@ +{ + "within": "Buildings.Controls.OBC.CDL", + "class_definition": [ + { + "class_prefixes": "package", + "class_specifier": { + "long_class_specifier": { + "identifier": "Constants", + "description_string": "Package with constants", + "composition": { + "element_list": [ + { + "final": true, + "component_clause": { + "type_prefix": "constant", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "eps", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1e-15" + } + } + }, + "description": { + "description_string": "Biggest number such that 1.0 + eps = 1.0" + } + } + ] + } + }, + { + "final": true, + "component_clause": { + "type_prefix": "constant", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "small", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1e-60" + } + } + }, + "description": { + "description_string": "Smallest number such that small and -small are representable on the machine" + } + } + ] + } + }, + { + "final": true, + "component_clause": { + "type_prefix": "constant", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "pi", + "modification": { + "equal": true, + "expression": { + "simple_expression": "2*Modelica.Math.asin(1)" + } + } + }, + "description": { + "description_string": "Constant number pi, 3.14159265358979" + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis package provides often needed constants.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nMarch 27, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "radius": 25, + "lineColor": { + "r": 200, + "g": 200, + "b": 200 + }, + "fillColor": { + "r": 248, + "g": 248, + "b": 248 + }, + "fillPattern": "FillPattern.HorizontalCylinder" + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 48.017, + "y": 11.336 + }, + { + "x": 48.017, + "y": 11.336 + }, + { + "x": 10.766, + "y": 11.336 + }, + { + "x": -25.684, + "y": 10.95 + }, + { + "x": -34.944, + "y": -15.111 + }, + { + "x": -34.944, + "y": -15.111 + }, + { + "x": -32.298, + "y": -15.244 + }, + { + "x": -32.298, + "y": -15.244 + }, + { + "x": -22.112, + "y": 0.168 + }, + { + "x": 11.292, + "y": 0.234 + }, + { + "x": 48.267, + "y": -0.097 + }, + { + "x": 48.267, + "y": -0.097 + } + ], + "smooth": "Smooth.Bezier", + "origin": { + "x": -9.2597, + "y": 25.6673 + }, + "fillColor": { + "r": 102, + "g": 102, + "b": 102 + }, + "pattern": "LinePattern.None", + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 3.239, + "y": 37.343 + }, + { + "x": 3.305, + "y": 37.343 + }, + { + "x": -0.399, + "y": 2.683 + }, + { + "x": -16.936, + "y": -20.071 + }, + { + "x": -7.808, + "y": -28.604 + }, + { + "x": 6.811, + "y": -22.519 + }, + { + "x": 9.986, + "y": 37.145 + }, + { + "x": 9.986, + "y": 37.145 + } + ], + "smooth": "Smooth.Bezier", + "origin": { + "x": -19.9923, + "y": -8.3993 + }, + "fillColor": { + "r": 102, + "g": 102, + "b": 102 + }, + "pattern": "LinePattern.None", + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": -10.873, + "y": 41.478 + }, + { + "x": -10.873, + "y": 41.478 + }, + { + "x": -14.048, + "y": -4.162 + }, + { + "x": -9.352, + "y": -24.8 + }, + { + "x": 7.912, + "y": -24.469 + }, + { + "x": 16.247, + "y": 0.27 + }, + { + "x": 16.247, + "y": 0.27 + }, + { + "x": 13.336, + "y": 0.071 + }, + { + "x": 13.336, + "y": 0.071 + }, + { + "x": 7.515, + "y": -9.983 + }, + { + "x": -3.134, + "y": -7.271 + }, + { + "x": -2.671, + "y": 41.214 + }, + { + "x": -2.671, + "y": 41.214 + } + ], + "smooth": "Smooth.Bezier", + "origin": { + "x": 23.753, + "y": -11.5422 + }, + "fillColor": { + "r": 102, + "g": 102, + "b": 102 + }, + "pattern": "LinePattern.None", + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "radius": 25, + "lineColor": { + "r": 128, + "g": 128, + "b": 128 + } + } + } + ] + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Constants.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Constants.mo", + "checksum": "d18e385511e96322440f6f561441b22c" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Equal.json b/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Equal.json new file mode 100644 index 00000000..c3774065 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Equal.json @@ -0,0 +1,398 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Integers", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Equal", + "description_string": "Output y is true, if input u1 is equal to input u2", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Interfaces.IntegerInput", + "component_list": [ + { + "declaration": { + "identifier": "u1" + }, + "description": { + "description_string": "Connector of first Integer input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.IntegerInput", + "component_list": [ + { + "declaration": { + "identifier": "u2" + }, + "description": { + "description_string": "Connector of second Integer input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -100 + }, + { + "x": -100, + "y": -60 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.BooleanOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Connector of Boolean output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "u1" + }, + { + "name": "u2" + } + ], + "relation_operator": "==" + } + ] + } + ] + } + } + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"intEqu\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "false" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": -100 + } + ], + "borderPattern": "BorderPattern.Raised", + "lineColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "fillColor": { + "r": 210, + "g": 210, + "b": 210 + }, + "fillPattern": "FillPattern.Solid", + "lineThickness": 5 + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": 73, + "y": 7 + }, + { + "x": 87, + "y": -7 + } + ], + "lineColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": 32, + "y": 10 + }, + { + "x": 52, + "y": -10 + } + ], + "lineColor": { + "r": 255, + "g": 127, + "b": 0 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -100, + "y": -80 + }, + { + "x": 42, + "y": -80 + }, + { + "x": 42, + "y": 0 + } + ], + "color": { + "r": 255, + "g": 127, + "b": 0 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -76, + "y": -36 + }, + { + "x": 20, + "y": 54 + } + ], + "textString": ",textString=", + "textColor": { + "r": 255, + "g": 127, + "b": 0 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs true if the Integer input u1\nis equal to the Integer input u2.\nOtherwise the output is false.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nAugust 30, 2017, by Jianjun Hu:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Integers/Equal.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Integers/Equal.mo", + "checksum": "6ed015e965db594da3ea7128c250435e" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json b/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json new file mode 100644 index 00000000..00076acc --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json @@ -0,0 +1,358 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Integers.Sources", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Constant", + "description_string": "Output constant signal of type Integer", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Integer", + "component_list": [ + { + "declaration": { + "identifier": "k" + }, + "description": { + "description_string": "Constant output value" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.IntegerOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Connector of Integer output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": "k" + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"conInt\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 255, + "g": 127, + "b": 0 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": 68 + }, + { + "x": -80, + "y": -80 + } + ], + "color": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": -80, + "y": 90 + }, + { + "x": -88, + "y": 68 + }, + { + "x": -72, + "y": 68 + }, + { + "x": -80, + "y": 90 + } + ], + "lineColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -90, + "y": -70 + }, + { + "x": 82, + "y": -70 + } + ], + "color": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 90, + "y": -70 + }, + { + "x": 68, + "y": -62 + }, + { + "x": 68, + "y": -78 + }, + { + "x": 90, + "y": -70 + } + ], + "lineColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": 0 + }, + { + "x": 80, + "y": 0 + } + ] + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": -150 + }, + { + "x": 150, + "y": -110 + } + ], + "textString": ",textString=", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs a constant signal y = k,\nwhere k is an Integer-valued parameter.\n

\n\n

\n\\\"IntegerConstant.png\\\"\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Integers/Sources/Constant.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.mo", + "checksum": "b6ddb71adcf641c588fbbbac670d26fb" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/BooleanInput.json b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/BooleanInput.json new file mode 100644 index 00000000..e6aea6a2 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/BooleanInput.json @@ -0,0 +1,238 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Interfaces", + "class_definition": [ + { + "class_prefixes": "connector", + "class_specifier": { + "short_class_specifier": { + "identifier": "BooleanInput", + "value": { + "base_prefix": "input", + "name": "Boolean", + "description": { + "description_string": "Boolean input connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"u\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 0, + "y": 50 + }, + { + "x": 100, + "y": 0 + }, + { + "x": 0, + "y": -50 + } + ], + "lineColor": { + "r": 255, + "g": 0, + "b": 255 + }, + "fillColor": { + "r": 255, + "g": 0, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + } + ] + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true", + "initialScale": 0.2 + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true", + "initialScale": 0.2 + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 0, + "y": 50 + }, + { + "x": 100, + "y": 0 + }, + { + "x": 0, + "y": -50 + }, + { + "x": 0, + "y": 50 + } + ], + "lineColor": { + "r": 255, + "g": 0, + "b": 255 + }, + "fillColor": { + "r": 255, + "g": 0, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -10, + "y": 85 + }, + { + "x": -10, + "y": 60 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nConnector with one input signal of type Boolean.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nMarch 1, 2019, by Michael Wetter:
    \nOn the icon layer, changed connector size and added the connector name.
    \nThis is for\nissue 1375.\n
  • \n
  • \nJanuary 6, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Interfaces/BooleanInput.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/BooleanInput.mo", + "checksum": "60968b727525188ed9398920679cf1c0" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/BooleanOutput.json b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/BooleanOutput.json new file mode 100644 index 00000000..ec85ab96 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/BooleanOutput.json @@ -0,0 +1,238 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Interfaces", + "class_definition": [ + { + "class_prefixes": "connector", + "class_specifier": { + "short_class_specifier": { + "identifier": "BooleanOutput", + "value": { + "base_prefix": "output", + "name": "Boolean", + "description": { + "description_string": "Boolean output connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"y\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true", + "initialScale": 0.2 + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": -100, + "y": 50 + }, + { + "x": 0, + "y": 0 + }, + { + "x": -100, + "y": -50 + } + ], + "lineColor": { + "r": 255, + "g": 0, + "b": 255 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true", + "initialScale": 0.2 + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": -100, + "y": 50 + }, + { + "x": 0, + "y": 0 + }, + { + "x": -100, + "y": -50 + }, + { + "x": -100, + "y": 50 + } + ], + "lineColor": { + "r": 255, + "g": 0, + "b": 255 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 30, + "y": 110 + }, + { + "x": 30, + "y": 60 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nConnector with one output signal of type Boolean.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nJuly 19, 2019, by Jianjun Hu:
    \nOn both icon and diagram layer, added the initialScale.
    \nThis is for\nissue 1375.\n
  • \n
  • \nMarch 1, 2019, by Michael Wetter:
    \nOn the icon layer, changed connector size and added the connector name.
    \nThis is for\nissue 1375.\n
  • \n
  • \nJanuary 6, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Interfaces/BooleanOutput.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/BooleanOutput.mo", + "checksum": "c78a9b5c56f73ed93e3f9540de58da55" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/IntegerInput.json b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/IntegerInput.json new file mode 100644 index 00000000..e11983e7 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/IntegerInput.json @@ -0,0 +1,238 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Interfaces", + "class_definition": [ + { + "class_prefixes": "connector", + "class_specifier": { + "short_class_specifier": { + "identifier": "IntegerInput", + "value": { + "base_prefix": "input", + "name": "Integer", + "description": { + "description_string": "Integer input connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"u\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 0, + "y": 50 + }, + { + "x": 100, + "y": 0 + }, + { + "x": 0, + "y": -50 + } + ], + "lineColor": { + "r": 255, + "g": 127, + "b": 0 + }, + "fillColor": { + "r": 255, + "g": 127, + "b": 0 + }, + "fillPattern": "FillPattern.Solid" + } + } + ] + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true", + "initialScale": 0.2 + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true", + "initialScale": 0.2 + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 0, + "y": 50 + }, + { + "x": 100, + "y": 0 + }, + { + "x": 0, + "y": -50 + }, + { + "x": 0, + "y": 50 + } + ], + "lineColor": { + "r": 255, + "g": 127, + "b": 0 + }, + "fillColor": { + "r": 255, + "g": 127, + "b": 0 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -10, + "y": 85 + }, + { + "x": -10, + "y": 60 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 255, + "g": 127, + "b": 0 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nConnector with one input signal of type Integer.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nMarch 1, 2019, by Michael Wetter:
    \nOn the icon layer, changed connector size and added the connector name.
    \nThis is for\nissue 1375.\n
  • \n
  • \nJanuary 6, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Interfaces/IntegerInput.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/IntegerInput.mo", + "checksum": "90e89432f618ecfdadb8b0a8f0519eef" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/IntegerOutput.json b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/IntegerOutput.json new file mode 100644 index 00000000..ecb5cabf --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/IntegerOutput.json @@ -0,0 +1,238 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Interfaces", + "class_definition": [ + { + "class_prefixes": "connector", + "class_specifier": { + "short_class_specifier": { + "identifier": "IntegerOutput", + "value": { + "base_prefix": "output", + "name": "Integer", + "description": { + "description_string": "Integer output connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"y\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true", + "initialScale": 0.2 + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": -100, + "y": 50 + }, + { + "x": 0, + "y": 0 + }, + { + "x": -100, + "y": -50 + } + ], + "lineColor": { + "r": 255, + "g": 127, + "b": 0 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true", + "initialScale": 0.2 + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": -100, + "y": 50 + }, + { + "x": 0, + "y": 0 + }, + { + "x": -100, + "y": -50 + }, + { + "x": -100, + "y": 50 + } + ], + "lineColor": { + "r": 255, + "g": 127, + "b": 0 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 30, + "y": 110 + }, + { + "x": 30, + "y": 60 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 255, + "g": 127, + "b": 0 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nConnector with one output signal of type Integer.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nJuly 19, 2019, by Jianjun Hu:
    \nOn both icon and diagram layer, added the initialScale.
    \nThis is for\nissue 1375.\n
  • \n
  • \nMarch 1, 2019, by Michael Wetter:
    \nOn the icon layer, changed connector size and added the connector name.
    \nThis is for\nissue 1375.\n
  • \n
  • \nJanuary 6, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Interfaces/IntegerOutput.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/IntegerOutput.mo", + "checksum": "ede894db694a80d4be6d85192821bb84" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/RealInput.json b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/RealInput.json new file mode 100644 index 00000000..ed7eec5a --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/RealInput.json @@ -0,0 +1,238 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Interfaces", + "class_definition": [ + { + "class_prefixes": "connector", + "class_specifier": { + "short_class_specifier": { + "identifier": "RealInput", + "value": { + "base_prefix": "input", + "name": "Real", + "description": { + "description_string": "Real input connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"u\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 0, + "y": 50 + }, + { + "x": 100, + "y": 0 + }, + { + "x": 0, + "y": -50 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillPattern": "FillPattern.Solid" + } + } + ] + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true", + "initialScale": 0.2 + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true", + "initialScale": 0.2 + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 0, + "y": 50 + }, + { + "x": 100, + "y": 0 + }, + { + "x": 0, + "y": -50 + }, + { + "x": 0, + "y": 50 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -10, + "y": 60 + }, + { + "x": -10, + "y": 85 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nConnector with one input signal of type Real.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nMarch 1, 2019, by Michael Wetter:
    \nOn the icon layer, changed connector size and added the connector name.
    \nThis is for\nissue 1375.\n
  • \n
  • \nJanuary 6, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Interfaces/RealInput.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/RealInput.mo", + "checksum": "a30132f1d21aa2e2de2510da83ef73e5" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/RealOutput.json b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/RealOutput.json new file mode 100644 index 00000000..4956828b --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/RealOutput.json @@ -0,0 +1,234 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Interfaces", + "class_definition": [ + { + "class_prefixes": "connector", + "class_specifier": { + "short_class_specifier": { + "identifier": "RealOutput", + "value": { + "base_prefix": "output", + "name": "Real", + "description": { + "description_string": "Real output connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"y\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true", + "initialScale": 0.2 + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": -100, + "y": 50 + }, + { + "x": 0, + "y": 0 + }, + { + "x": -100, + "y": -50 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true", + "initialScale": 0.2 + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": -100, + "y": 50 + }, + { + "x": 0, + "y": 0 + }, + { + "x": -100, + "y": -50 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 30, + "y": 60 + }, + { + "x": 30, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nConnector with one output signal of type Real.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nJuly 19, 2019, by Jianjun Hu:
    \nOn both icon and diagram layer, added the initialScale.
    \nThis is for\nissue 1375.\n
  • \n
  • \nMarch 1, 2019, by Michael Wetter:
    \nOn the icon layer, changed connector size and added the connector name.
    \nThis is for\nissue 1375.\n
  • \n
  • \nJanuary 6, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Interfaces/RealOutput.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/RealOutput.mo", + "checksum": "406cab1b75e3627433076597d6aebd71" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/package.json b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/package.json new file mode 100644 index 00000000..22425437 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Interfaces/package.json @@ -0,0 +1,225 @@ +{ + "within": "Buildings.Controls.OBC.CDL", + "class_definition": [ + { + "class_prefixes": "package", + "class_specifier": { + "long_class_specifier": { + "identifier": "Interfaces", + "description_string": "Package with connectors for input and output signals", + "composition": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "preferredView", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"info\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis package contains implementations of connectors for input\nand output signals of blocks.\n

\n

\nThe connectors are compatible with, and equivalent to,\nthe connectors from the Modelica Standard Library.\nThey are here implemented to make the CDL\npackage a self-contained package.\n

\n\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "radius": 25, + "lineColor": { + "r": 200, + "g": 200, + "b": 200 + }, + "fillColor": { + "r": 248, + "g": 248, + "b": 248 + }, + "fillPattern": "FillPattern.HorizontalCylinder" + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "radius": 25, + "lineColor": { + "r": 128, + "g": 128, + "b": 128 + } + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": -10, + "y": 70 + }, + { + "x": 10, + "y": 70 + }, + { + "x": 40, + "y": 20 + }, + { + "x": 80, + "y": 20 + }, + { + "x": 80, + "y": -20 + }, + { + "x": 40, + "y": -20 + }, + { + "x": 10, + "y": -70 + }, + { + "x": -10, + "y": -70 + } + ], + "origin": { + "x": 20, + "y": 0 + }, + "lineColor": { + "r": 64, + "g": 64, + "b": 64 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": -100, + "y": 20 + }, + { + "x": -60, + "y": 20 + }, + { + "x": -30, + "y": 70 + }, + { + "x": -10, + "y": 70 + }, + { + "x": -10, + "y": -70 + }, + { + "x": -30, + "y": -70 + }, + { + "x": -60, + "y": -20 + }, + { + "x": -100, + "y": -20 + } + ], + "fillColor": { + "r": 102, + "g": 102, + "b": 102 + }, + "pattern": "LinePattern.None", + "fillPattern": "FillPattern.Solid" + } + } + ] + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Interfaces/package.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Interfaces/package.mo", + "checksum": "14a2fca3933efe182b89261ed74bfe93" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/And.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/And.json new file mode 100644 index 00000000..426c371f --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/And.json @@ -0,0 +1,381 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Logical", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "And", + "description_string": "Logical 'and': y = u1 and u2", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Interfaces.BooleanInput", + "component_list": [ + { + "declaration": { + "identifier": "u1" + }, + "description": { + "description_string": "Connector of first Boolean input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.BooleanInput", + "component_list": [ + { + "declaration": { + "identifier": "u2" + }, + "description": { + "description_string": "Connector of second Boolean input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -100 + }, + { + "x": -100, + "y": -60 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.BooleanOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Connector of Boolean output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": "u1 and u2" + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"and2\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": -100 + } + ], + "borderPattern": "BorderPattern.Raised", + "fillColor": { + "r": 210, + "g": 210, + "b": 210 + }, + "fillPattern": "FillPattern.Solid", + "lineThickness": 5 + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -90, + "y": 40 + }, + { + "x": 90, + "y": -40 + } + ], + "textString": "\"and\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": 71, + "y": 7 + }, + { + "x": 85, + "y": -7 + } + ], + "lineColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": -75, + "y": -6 + }, + { + "x": -89, + "y": 8 + } + ], + "lineColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": -75, + "y": -73 + }, + { + "x": -89, + "y": -87 + } + ], + "lineColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs true if all inputs are true.\nOtherwise the output is false.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/And.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/And.mo", + "checksum": "abb4a9c072fed007645ee9127a8371e1" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Not.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Not.json new file mode 100644 index 00000000..f8483468 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Not.json @@ -0,0 +1,297 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Logical", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Not", + "description_string": "Logical not", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Interfaces.BooleanInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Connector of Boolean input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.BooleanOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Connector of Boolean output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": "not u" + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"not1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": -100 + } + ], + "borderPattern": "BorderPattern.Raised", + "lineColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "fillColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "fillPattern": "FillPattern.Solid", + "lineThickness": 5 + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -56, + "y": 28 + }, + { + "x": 72, + "y": -24 + } + ], + "textString": "\"not\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": 71, + "y": 7 + }, + { + "x": 85, + "y": -7 + } + ], + "lineColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs true if the input is false,\nand false if the input is true.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/Not.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Not.mo", + "checksum": "7dbcd7ef6c82dd1ea995367b1c5e1e6a" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Or.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Or.json new file mode 100644 index 00000000..9ae5c612 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Or.json @@ -0,0 +1,381 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Logical", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Or", + "description_string": "Logical 'or': y = u1 or u2", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Interfaces.BooleanInput", + "component_list": [ + { + "declaration": { + "identifier": "u1" + }, + "description": { + "description_string": "Connector of first Boolean input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.BooleanInput", + "component_list": [ + { + "declaration": { + "identifier": "u2" + }, + "description": { + "description_string": "Connector of second Boolean input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -100 + }, + { + "x": -100, + "y": -60 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.BooleanOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Connector of Boolean output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": "u1 or u2" + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"or2\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": -100 + } + ], + "borderPattern": "BorderPattern.Raised", + "fillColor": { + "r": 210, + "g": 210, + "b": 210 + }, + "fillPattern": "FillPattern.Solid", + "lineThickness": 5 + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -90, + "y": 40 + }, + { + "x": 90, + "y": -40 + } + ], + "textString": "\"or\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": 71, + "y": 7 + }, + { + "x": 85, + "y": -7 + } + ], + "lineColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": -75, + "y": -6 + }, + { + "x": -89, + "y": 8 + } + ], + "lineColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": -75, + "y": -73 + }, + { + "x": -89, + "y": -87 + } + ], + "lineColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs true if at least one input\nis true.\nOtherwise the output is false.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/Or.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Or.mo", + "checksum": "670ac5112525c56af6333d275885e875" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json new file mode 100644 index 00000000..d25d7d4b --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json @@ -0,0 +1,381 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Logical.Sources", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Constant", + "description_string": "Output constant signal of type Boolean", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "k" + }, + "description": { + "description_string": "Constant output value" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.BooleanOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Connector of Boolean output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": "k" + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"con\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": -100 + } + ], + "borderPattern": "BorderPattern.Raised", + "fillColor": { + "r": 210, + "g": 210, + "b": 210 + }, + "fillPattern": "FillPattern.Solid", + "lineThickness": 5 + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": 71, + "y": 7 + }, + { + "x": 85, + "y": -7 + } + ], + "lineColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -90, + "y": -70 + }, + { + "x": 72, + "y": -70 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 90, + "y": -70 + }, + { + "x": 68, + "y": -62 + }, + { + "x": 68, + "y": -78 + }, + { + "x": 90, + "y": -70 + } + ], + "lineColor": { + "r": 255, + "g": 0, + "b": 255 + }, + "fillColor": { + "r": 255, + "g": 0, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": -80, + "y": 88 + }, + { + "x": -88, + "y": 66 + }, + { + "x": -72, + "y": 66 + }, + { + "x": -80, + "y": 88 + } + ], + "lineColor": { + "r": 255, + "g": 0, + "b": 255 + }, + "fillColor": { + "r": 255, + "g": 0, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": 66 + }, + { + "x": -80, + "y": -82 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": 0 + }, + { + "x": 64, + "y": 0 + } + ] + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": -140 + }, + { + "x": 150, + "y": -110 + } + ], + "textString": "\"%k\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs a constant signal y = k,\nwhere k is a Boolean-valued parameter.\n

\n\n

\n\\\"Constant.png\\\"\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/Sources/Constant.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.mo", + "checksum": "821d92c8b1c3a28aee8ea6c2bf037c7f" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json new file mode 100644 index 00000000..13f897a2 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json @@ -0,0 +1,735 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Logical", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "TrueDelay", + "description_string": "Delay a rising edge of the input, but do not delay a falling edge.", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "delayTime", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Time\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"s\"" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Delay time" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "delayOnInit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "false" + } + } + }, + "description": { + "description_string": "Set to true to delay initial true input" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.BooleanInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Connector of Boolean input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.BooleanOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Connector of Boolean output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "protected_element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "t_past", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Time\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"s\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "fixed", + "modification": { + "equal": true, + "expression": { + "simple_expression": "false" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Time before simulation started" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "t_next", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Time\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"s\"" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Next event time" + } + } + ] + } + } + ] + }, + { + "equation_section": { + "initial": true, + "equation": [ + { + "assignment_equation": { + "lhs": "t_past", + "rhs": { + "simple_expression": "time -1000" + } + } + }, + { + "assignment_equation": { + "lhs": { + "function_call": { + "name": "pre", + "arguments": [ + { + "name": "u" + } + ] + } + }, + "rhs": { + "simple_expression": "false" + } + } + }, + { + "assignment_equation": { + "lhs": { + "function_call": { + "name": "pre", + "arguments": [ + { + "name": "t_next" + } + ] + } + }, + "rhs": { + "simple_expression": "time -1000" + } + } + } + ] + } + }, + { + "equation_section": { + "equation": [ + { + "when_equation": [ + { + "condition": { + "simple_expression": "initial()" + }, + "then": [ + { + "assignment_equation": { + "lhs": "t_next", + "rhs": { + "if_expression": { + "if_elseif": [ + { + "condition": { + "simple_expression": "not delayOnInit" + }, + "then": { + "simple_expression": "t_past" + } + } + ], + "else_expression": { + "simple_expression": "time +delayTime" + } + } + } + } + } + ] + }, + { + "condition": { + "simple_expression": "u" + }, + "then": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "if_expression": { + "if_elseif": [ + { + "condition": { + "simple_expression": "not ([object Object])" + }, + "then": { + "simple_expression": "u" + } + } + ], + "else_expression": { + "simple_expression": "false" + } + } + } + } + } + ] + }, + { + "condition": { + "simple_expression": "not u" + }, + "then": [ + { + "assignment_equation": { + "lhs": "t_next", + "rhs": { + "simple_expression": "time +delayTime" + } + } + } + ] + }, + { + "condition": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "time" + }, + { + "name": "pre(t_next)" + } + ], + "relation_operator": ">=" + } + ] + } + ] + } + } + }, + "then": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "if_expression": { + "if_elseif": [ + { + "condition": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "delayTime" + }, + { + "name": "0" + } + ], + "relation_operator": ">" + } + ] + } + ] + } + } + }, + "then": { + "simple_expression": "false" + } + } + ], + "else_expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + ] + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"truDel\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": -100 + } + ], + "borderPattern": "BorderPattern.Raised", + "fillColor": { + "r": 210, + "g": 210, + "b": 210 + }, + "fillPattern": "FillPattern.Solid", + "lineThickness": 5 + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -250, + "y": -120 + }, + { + "x": 250, + "y": -150 + } + ], + "textString": "\"%delayTime\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": -66 + }, + { + "x": -60, + "y": -66 + }, + { + "x": -60, + "y": -22 + }, + { + "x": 38, + "y": -22 + }, + { + "x": 38, + "y": -66 + }, + { + "x": 66, + "y": -66 + } + ] + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": 32 + }, + { + "x": -4, + "y": 32 + }, + { + "x": -4, + "y": 76 + }, + { + "x": 38, + "y": 76 + }, + { + "x": 38, + "y": 32 + }, + { + "x": 66, + "y": 32 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": -71, + "y": 7 + }, + { + "x": -85, + "y": -7 + } + ], + "lineColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": 71, + "y": 7 + }, + { + "x": 85, + "y": -7 + } + ], + "lineColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that delays a signal when it becomes true.\n

\n

\nA rising edge of the Boolean input u gives a delayed output.\nA falling edge of the input is immediately given to the output. If\ndelayOnInit = true, then a true input signal\nat the start time is also delayed, otherwise the input signal is\nproduced immediately at the output.\n

\n

\nSimulation results of a typical example with a delay time of 0.1 second\nis shown below.\n

\n

\n\\\"OnDelay1.png\\\"\n
\n\\\"OnDelay2.png\\\"\n

\n\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nNovember 12, 2020, by Michael Wetter:
    \nReformulated to remove dependency to Modelica.Units.SI.
    \nThis is for\nissue 2243.\n
  • \n
  • \nFebruary 11, 2019, by Milica Grahovac:
    \nAdded boolean input to enable delay of an initial true input.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/TrueDelay.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueDelay.mo", + "checksum": "4d4cddbe92a5451b488ada4eac810f92" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json new file mode 100644 index 00000000..ac0e769e --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json @@ -0,0 +1,2566 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Logical", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "TrueFalseHold", + "description_string": "Block that holds an output signal for at least a specified duration", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "trueHoldDuration", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Time\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"s\"" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "true hold duration" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "falseHoldDuration", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Time\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"s\"" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "trueHoldDuration" + } + } + }, + "description": { + "description_string": "false hold duration" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.BooleanInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Boolean input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -220, + "y": -20 + }, + { + "x": -180, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.BooleanOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Boolean output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 160, + "y": -20 + }, + { + "x": 200, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "protected_element_list": [ + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", + "component_list": [ + { + "declaration": { + "identifier": "onDel1", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "delayTime", + "modification": { + "equal": true, + "expression": { + "simple_expression": "falseHoldDuration" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Output true when timer elapsed the required time", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -100, + "y": -40 + }, + { + "x": -80, + "y": -20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", + "component_list": [ + { + "declaration": { + "identifier": "onDel2", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "delayTime", + "modification": { + "equal": true, + "expression": { + "simple_expression": "trueHoldDuration" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Output true when timer elapsed the required time", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 20, + "y": -70 + }, + { + "x": 40, + "y": -50 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "inner": true, + "component_clause": { + "type_specifier": "Modelica.StateGraph.StateGraphRoot", + "component_list": [ + { + "declaration": { + "identifier": "stateGraphRoot" + }, + "description": { + "description_string": "Root of state graph", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -160, + "y": 100 + }, + { + "x": -140, + "y": 120 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Modelica.StateGraph.StepWithSignal", + "component_list": [ + { + "declaration": { + "identifier": "outputFalse", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "nIn", + "modification": { + "equal": true, + "expression": { + "simple_expression": "2" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "nOut", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "State for which the block outputs false", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": 10 + }, + { + "x": -40, + "y": 30 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Modelica.StateGraph.TransitionWithSignal", + "component_list": [ + { + "declaration": { + "identifier": "toTrue" + }, + "description": { + "description_string": "Transition to true", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -30, + "y": 10 + }, + { + "x": -10, + "y": 30 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "CDL.Logical.Not", + "component_list": [ + { + "declaration": { + "identifier": "notU" + }, + "description": { + "description_string": "Negation of input", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 60 + }, + { + "x": -120, + "y": 80 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Modelica.StateGraph.StepWithSignal", + "component_list": [ + { + "declaration": { + "identifier": "outputTrue", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "nIn", + "modification": { + "equal": true, + "expression": { + "simple_expression": "2" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "nOut", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "State with true output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 0, + "y": 10 + }, + { + "x": 20, + "y": 30 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Modelica.StateGraph.TransitionWithSignal", + "component_list": [ + { + "declaration": { + "identifier": "toFalse" + }, + "description": { + "description_string": "Transition to false", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 30, + "y": 10 + }, + { + "x": 50, + "y": 30 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "CDL.Logical.And", + "component_list": [ + { + "declaration": { + "identifier": "and2" + }, + "description": { + "description_string": "Check for input and elapsed timer", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 60, + "y": -70 + }, + { + "x": 80, + "y": -50 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "CDL.Logical.And", + "component_list": [ + { + "declaration": { + "identifier": "and1" + }, + "description": { + "description_string": "Check for input and elapsed timer", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -50, + "y": -40 + }, + { + "x": -30, + "y": -20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Modelica.StateGraph.InitialStep", + "component_list": [ + { + "declaration": { + "identifier": "initialStep", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "nIn", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "nOut", + "modification": { + "equal": true, + "expression": { + "simple_expression": "2" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Initial state", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -120, + "y": 100 + }, + { + "x": -100, + "y": 120 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Modelica.StateGraph.TransitionWithSignal", + "component_list": [ + { + "declaration": { + "identifier": "toTrue1" + }, + "description": { + "description_string": "Transition to true", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -70, + "y": 102 + }, + { + "x": -50, + "y": 122 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Modelica.StateGraph.TransitionWithSignal", + "component_list": [ + { + "declaration": { + "identifier": "toFalse1" + }, + "description": { + "description_string": "Transition to false", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -90, + "y": 80 + }, + { + "x": -70, + "y": 100 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ] + }, + { + "equation_section": { + "equation": [ + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "outputTrue" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "outPort", + "array_subscripts": [ + { + "expression": { + "simple_expression": "1" + } + } + ] + } + ], + "to": [ + { + "dot_op": false, + "identifier": "toFalse" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "inPort" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 20.5, + "y": 20 + }, + { + "x": 28, + "y": 20 + }, + { + "x": 36, + "y": 20 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "outputTrue" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "active" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 10, + "y": 9 + }, + { + "x": 10, + "y": 0 + }, + { + "x": 180, + "y": 0 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "outputFalse" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "outPort", + "array_subscripts": [ + { + "expression": { + "simple_expression": "1" + } + } + ] + } + ], + "to": [ + { + "dot_op": false, + "identifier": "toTrue" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "inPort" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -39.5, + "y": 20 + }, + { + "x": -32, + "y": 20 + }, + { + "x": -24, + "y": 20 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "toFalse" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "outPort" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "outputFalse" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "inPort", + "array_subscripts": [ + { + "expression": { + "simple_expression": "1" + } + } + ] + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 41.5, + "y": 20 + }, + { + "x": 60, + "y": 20 + }, + { + "x": 60, + "y": 40 + }, + { + "x": -70, + "y": 40 + }, + { + "x": -70, + "y": 20.5 + }, + { + "x": -61, + "y": 20.5 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "outputTrue" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "active" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "onDel2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 10, + "y": 9 + }, + { + "x": 10, + "y": 0 + }, + { + "x": 10, + "y": -60 + }, + { + "x": 18, + "y": -60 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "notU" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "and2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -118, + "y": 70 + }, + { + "x": 140, + "y": 70 + }, + { + "x": 140, + "y": -80 + }, + { + "x": 48, + "y": -80 + }, + { + "x": 48, + "y": -68 + }, + { + "x": 58, + "y": -68 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "and2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "toFalse" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "condition" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 82, + "y": -60 + }, + { + "x": 100, + "y": -60 + }, + { + "x": 100, + "y": -20 + }, + { + "x": 40, + "y": -20 + }, + { + "x": 40, + "y": 8 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "outputFalse" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "active" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "onDel1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -50, + "y": 9 + }, + { + "x": -50, + "y": 0 + }, + { + "x": -140, + "y": 0 + }, + { + "x": -140, + "y": -30 + }, + { + "x": -102, + "y": -30 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "and1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -200, + "y": 0 + }, + { + "x": -160, + "y": 0 + }, + { + "x": -160, + "y": -50 + }, + { + "x": -60, + "y": -50 + }, + { + "x": -60, + "y": -38 + }, + { + "x": -52, + "y": -38 + }, + { + "x": -52, + "y": -38 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "and1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "toTrue" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "condition" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -28, + "y": -30 + }, + { + "x": -20, + "y": -30 + }, + { + "x": -20, + "y": 8 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "toTrue1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "condition" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -200, + "y": 0 + }, + { + "x": -160, + "y": 0 + }, + { + "x": -160, + "y": 52 + }, + { + "x": -60, + "y": 52 + }, + { + "x": -60, + "y": 100 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "toTrue1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "outPort" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "outputTrue" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "inPort", + "array_subscripts": [ + { + "expression": { + "simple_expression": "1" + } + } + ] + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -58.5, + "y": 112 + }, + { + "x": -10, + "y": 112 + }, + { + "x": -10, + "y": 20.5 + }, + { + "x": -1, + "y": 20.5 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "toTrue" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "outPort" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "outputTrue" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "inPort", + "array_subscripts": [ + { + "expression": { + "simple_expression": "2" + } + } + ] + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -18.5, + "y": 20 + }, + { + "x": -1, + "y": 20 + }, + { + "x": -1, + "y": 19.5 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "toFalse1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "outPort" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "outputFalse" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "inPort", + "array_subscripts": [ + { + "expression": { + "simple_expression": "2" + } + } + ] + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -78.5, + "y": 90 + }, + { + "x": -72, + "y": 90 + }, + { + "x": -72, + "y": 44 + }, + { + "x": -72, + "y": 20 + }, + { + "x": -61, + "y": 20 + }, + { + "x": -61, + "y": 19.5 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "initialStep" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "outPort", + "array_subscripts": [ + { + "expression": { + "simple_expression": "1" + } + } + ] + } + ], + "to": [ + { + "dot_op": false, + "identifier": "toTrue1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "inPort" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -99.5, + "y": 110.25 + }, + { + "x": -90, + "y": 110.25 + }, + { + "x": -90, + "y": 110 + }, + { + "x": -90, + "y": 112 + }, + { + "x": -64, + "y": 112 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "initialStep" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "outPort", + "array_subscripts": [ + { + "expression": { + "simple_expression": "2" + } + } + ] + } + ], + "to": [ + { + "dot_op": false, + "identifier": "toFalse1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "inPort" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -99.5, + "y": 109.75 + }, + { + "x": -94, + "y": 109.75 + }, + { + "x": -94, + "y": 110 + }, + { + "x": -90, + "y": 110 + }, + { + "x": -90, + "y": 90 + }, + { + "x": -84, + "y": 90 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "notU" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -142, + "y": 70 + }, + { + "x": -160, + "y": 70 + }, + { + "x": -160, + "y": 0 + }, + { + "x": -200, + "y": 0 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "notU" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "toFalse1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "condition" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -118, + "y": 70 + }, + { + "x": -80, + "y": 70 + }, + { + "x": -80, + "y": 78 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "onDel1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "and1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -78, + "y": -30 + }, + { + "x": -52, + "y": -30 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "onDel2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "and2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 42, + "y": -60 + }, + { + "x": 42, + "y": -60 + }, + { + "x": 58, + "y": -60 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"truFalHol\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": -100 + } + ], + "borderPattern": "BorderPattern.Raised", + "lineColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "fillColor": { + "r": 210, + "g": 210, + "b": 210 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -84, + "y": 10 + }, + { + "x": -50, + "y": 10 + }, + { + "x": -50, + "y": 54 + }, + { + "x": -18, + "y": 54 + }, + { + "x": -18, + "y": 10 + }, + { + "x": -18, + "y": 10 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -78, + "y": -46 + }, + { + "x": -48, + "y": -46 + }, + { + "x": -48, + "y": -2 + }, + { + "x": -24, + "y": -2 + }, + { + "x": -24, + "y": -46 + }, + { + "x": -24, + "y": -46 + } + ] + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -24, + "y": -46 + }, + { + "x": 6, + "y": -46 + }, + { + "x": 6, + "y": -2 + }, + { + "x": 44, + "y": -2 + }, + { + "x": 44, + "y": -46 + }, + { + "x": 74, + "y": -46 + } + ] + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -18, + "y": 10 + }, + { + "x": 14, + "y": 10 + }, + { + "x": 14, + "y": 54 + }, + { + "x": 46, + "y": 54 + }, + { + "x": 46, + "y": 10 + }, + { + "x": 66, + "y": 10 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -88, + "y": -62 + }, + { + "x": 92, + "y": -90 + } + ], + "textString": "\"%falseHoldDuration\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": 71, + "y": 7 + }, + { + "x": 85, + "y": -7 + } + ], + "lineColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": -83, + "y": 7 + }, + { + "x": -69, + "y": -7 + } + ], + "lineColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -90, + "y": 96 + }, + { + "x": 96, + "y": 68 + } + ], + "textString": "\"%trueHoldDuration\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -180, + "y": -120 + }, + { + "x": 160, + "y": 140 + } + ], + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that holds a true or false signal for at least a defined time period.\n

\n

\nWhenever the input u switches, the output y\nswitches and remains at that value for at least duration\nseconds, where duration is a parameter.\nAfter duration elapsed, the output will be\ny = u.\nIf this change required changing the value of y,\nthen y will remain at that value for at least duration.\nOtherwise, y will change immediately whenever u\nchanges.\n

\n

\nThis block could for example be used to disable an economizer,\nand not re-enable it for 10 minutes, and vice versa.\n

\n

\nThe image below shows the implementation with a state graph in which\neach transition is only triggered when the input has the corresponding value,\nand the current state has been active for at least duration seconds.\n

\n\n

\n\n

\n\n

\nSimulation results of a typical example with duration = 1000 seconds.\n

\n\n

\n\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nNovember 12, 2020, by Michael Wetter:
    \nReformulated to remove dependency to Modelica.Units.SI.
    \nThis is for\nissue 2243.\n
  • \n
  • \nSeptember 18, 2017, by Michael Wetter:
    \nImproved event handling.\n
  • \n
  • \nJuly 14, 2017, by Michael Wetter:
    \nCorrected model to set output equal to input during initialization.\n
  • \n
  • \nJune 13, 2017, by Michael Wetter:
    \nReimplemented model using a state graph to avoid having to test for equality within tolerance,\nand to correct a bug.\nThis implementation is also easier to understand.
    \nThis is for\nissue 789.\n
  • \n
  • \nMay 24, 2017, by Milica Grahovac:
    \nFirst implementation.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo", + "checksum": "d3d500d5e52ce2d22a6b926b26115822" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json new file mode 100644 index 00000000..3ab91b79 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json @@ -0,0 +1,1213 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Logical", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "TrueHoldWithReset", + "description_string": "Block that holds a true signal for at least a requested duration", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "duration", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Time\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"s\"" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Time duration of the true output signal hold" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.BooleanInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Boolean input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.BooleanOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Boolean output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "protected_element_list": [ + { + "inner": true, + "component_clause": { + "type_specifier": "Modelica.StateGraph.StateGraphRoot", + "component_list": [ + { + "declaration": { + "identifier": "stateGraphRoot" + }, + "description": { + "description_string": "Root of state graph", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 70, + "y": 68 + }, + { + "x": 90, + "y": 88 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", + "component_list": [ + { + "declaration": { + "identifier": "onDelay", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "delayTime", + "modification": { + "equal": true, + "expression": { + "simple_expression": "duration" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Delay for the on signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 10, + "y": 10 + }, + { + "x": 30, + "y": 30 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Modelica.StateGraph.InitialStep", + "component_list": [ + { + "declaration": { + "identifier": "initialStep", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "nIn", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "nOut", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Initial step", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -80, + "y": 50 + }, + { + "x": -60, + "y": 70 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Modelica.StateGraph.StepWithSignal", + "component_list": [ + { + "declaration": { + "identifier": "outputTrue", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "nIn", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "nOut", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Holds the output at true", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": 50 + }, + { + "x": 10, + "y": 70 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Modelica.StateGraph.TransitionWithSignal", + "component_list": [ + { + "declaration": { + "identifier": "toOutputTrue" + }, + "description": { + "description_string": "Transition that activates sending a true output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -50, + "y": 50 + }, + { + "x": -30, + "y": 70 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Modelica.StateGraph.TransitionWithSignal", + "component_list": [ + { + "declaration": { + "identifier": "toInitial" + }, + "description": { + "description_string": "Transition that activates the initial state", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 30, + "y": 50 + }, + { + "x": 50, + "y": 70 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ] + }, + { + "equation_section": { + "equation": [ + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "initialStep" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "outPort", + "array_subscripts": [ + { + "expression": { + "simple_expression": "1" + } + } + ] + } + ], + "to": [ + { + "dot_op": false, + "identifier": "toOutputTrue" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "inPort" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -59.5, + "y": 60 + }, + { + "x": -44, + "y": 60 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "outputTrue" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "active" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 0, + "y": 49 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 120, + "y": 0 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "toOutputTrue" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "condition" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -40, + "y": 48 + }, + { + "x": -40, + "y": 0 + }, + { + "x": -120, + "y": 0 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "toInitial" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "outPort" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "initialStep" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "inPort", + "array_subscripts": [ + { + "expression": { + "simple_expression": "1" + } + } + ] + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 41.5, + "y": 60 + }, + { + "x": 52, + "y": 60 + }, + { + "x": 52, + "y": 86 + }, + { + "x": -90, + "y": 86 + }, + { + "x": -90, + "y": 60 + }, + { + "x": -81, + "y": 60 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "outputTrue" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "active" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "onDelay" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 0, + "y": 49 + }, + { + "x": 0, + "y": 20 + }, + { + "x": 8, + "y": 20 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "toOutputTrue" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "outPort" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "outputTrue" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "inPort", + "array_subscripts": [ + { + "expression": { + "simple_expression": "1" + } + } + ] + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -38.5, + "y": 60 + }, + { + "x": -11, + "y": 60 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "outputTrue" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "outPort", + "array_subscripts": [ + { + "expression": { + "simple_expression": "1" + } + } + ] + } + ], + "to": [ + { + "dot_op": false, + "identifier": "toInitial" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "inPort" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 10.5, + "y": 60 + }, + { + "x": 36, + "y": 60 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "onDelay" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "toInitial" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "condition" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 32, + "y": 20 + }, + { + "x": 40, + "y": 20 + }, + { + "x": 40, + "y": 48 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"truHol\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": -100 + } + ], + "borderPattern": "BorderPattern.Raised", + "fillColor": { + "r": 210, + "g": 210, + "b": 210 + }, + "fillPattern": "FillPattern.Solid", + "lineThickness": 5 + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -72, + "y": 18 + }, + { + "x": -48, + "y": 18 + }, + { + "x": -48, + "y": 62 + }, + { + "x": 52, + "y": 62 + }, + { + "x": 52, + "y": 18 + }, + { + "x": 80, + "y": 18 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -68, + "y": -46 + }, + { + "x": -48, + "y": -46 + }, + { + "x": -48, + "y": -2 + }, + { + "x": 22, + "y": -2 + }, + { + "x": 22, + "y": -46 + }, + { + "x": 78, + "y": -46 + } + ] + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -90, + "y": -62 + }, + { + "x": 96, + "y": -90 + } + ], + "textString": "\"%duration\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": 71, + "y": 7 + }, + { + "x": 85, + "y": -7 + } + ], + "lineColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": -83, + "y": 7 + }, + { + "x": -69, + "y": -7 + } + ], + "lineColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillPattern": "FillPattern.Solid" + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that holds a true input signal for at least a defined time period.\n

\n

\nAt initialization, the output y is equal to the input u.\nIf the input u becomes true, or is true\nduring intialization, a timer starts\nand the Boolean output y stays true for the time\nperiod provided by the parameter duration.\nWhen this time is elapsed, the input is checked again. If\nit is true, then the timer is restarted and the output remains\ntrue for another duration seconds.\nIf the input u is false after\nholdTime seconds, then the ouput is switched to false,\nuntil the input becomes true again.\n

\n

\nThe figure below shows the state chart of the implementation. Note that the\ntransition are done in zero time.\n

\n

\n\n

\n

\nThe figure below shows an example with a hold time of 3600 seconds\nand a pulse width period 9000 seconds that starts at t=200 seconds.\n

\n\n

\n\n

\n\n

\nThe figure below shows an example with a hold time of 60 seconds\nand a pulse width period 3600 seconds that starts at t=0 seconds.\n

\n

\n\n

\n

\nThe next two figures show the same experiment, except that the input u\nhas been negated. The figure below has again a hold time of 3600 seconds\nand a pulse width period 9000 seconds that starts at t=200 seconds.\n

\n

\n\n

\n

\nThe figure below has again a hold time of 60 seconds\nand a pulse width period 3600 seconds that starts at t=0 seconds.\n

\n

\n\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nNovember 12, 2020, by Michael Wetter:
    \nReformulated to remove dependency to Modelica.Units.SI.
    \nThis is for\nissue 2243.\n
  • \n
  • \nSeptember 18, 2017, by Michael Wetter:
    \nImproved event handling.\n
  • \n
  • \nJune 13, 2017, by Michael Wetter:
    \nReimplemented model using a state graph to avoid having to test for equality within tolerance.\nThis implementation is also easier to understand.
    \nThis is for\nissue 789.\n
  • \n
  • \nMay 24, 2017, by Milica Grahovac:
    \nFirst implementation.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.mo", + "checksum": "3f59d58e38a2801b2f79b0bcb847b674" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Abs.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Abs.json new file mode 100644 index 00000000..1da95116 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Abs.json @@ -0,0 +1,426 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Reals", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Abs", + "description_string": "Output the absolute value of the input", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Connector of Real input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Connector of Real output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": { + "function_call": { + "name": "abs", + "arguments": [ + { + "name": "u" + } + ] + } + } + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"abs\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 110 + }, + { + "x": 150, + "y": 150 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 92, + "y": 0 + }, + { + "x": 70, + "y": 8 + }, + { + "x": 70, + "y": -8 + }, + { + "x": 92, + "y": 0 + } + ], + "lineColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": 80 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 80, + "y": 80 + } + ] + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": 0, + "y": -14 + }, + { + "x": 0, + "y": 68 + } + ], + "color": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 0, + "y": 90 + }, + { + "x": -8, + "y": 68 + }, + { + "x": 8, + "y": 68 + }, + { + "x": 0, + "y": 90 + } + ], + "lineColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -34, + "y": -28 + }, + { + "x": 38, + "y": -76 + } + ], + "textString": "\"abs\"", + "textColor": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -88, + "y": 0 + }, + { + "x": 76, + "y": 0 + } + ], + "color": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 226, + "y": 60 + }, + { + "x": 106, + "y": 10 + } + ], + "textString": "DynamicSelect(\"\",String(y", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs y = abs(u),\nwhere\nu is an input.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Abs.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Abs.mo", + "checksum": "47afbd25663a02ee2391db2fe3eaaa64" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Add.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Add.json new file mode 100644 index 00000000..c0ba6714 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Add.json @@ -0,0 +1,416 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Reals", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Add", + "description_string": "Output the sum of the two inputs", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u1" + }, + "description": { + "description_string": "Connector of Real input signal 1", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u2" + }, + "description": { + "description_string": "Connector of Real input signal 2", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Connector of Real output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": "u1 +u2" + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"add2\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs y as the sum of the\ntwo input signals u1 and u2,\n

\n
\n    y = u1 + u2.\n
\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nJanuary 27, 2022, by Jianjun Hu:
    \nRemoved gain factors.
    \nThis is for issue 2865.\n
  • \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": -50, + "y": -50 + }, + { + "x": 50, + "y": 50 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -100, + "y": 60 + }, + { + "x": -74, + "y": 24 + }, + { + "x": -44, + "y": 24 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -100, + "y": -60 + }, + { + "x": -74, + "y": -28 + }, + { + "x": -42, + "y": -28 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": 50, + "y": 0 + }, + { + "x": 100, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -36, + "y": -26 + }, + { + "x": 40, + "y": 42 + } + ], + "textString": "\"+\"" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 226, + "y": 60 + }, + { + "x": 106, + "y": 10 + } + ], + "textString": "DynamicSelect(\"\",String(y", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + ] + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Add.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Add.mo", + "checksum": "8935beacbfae0ecbcb54890e5e52d0e3" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Derivative.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Derivative.json new file mode 100644 index 00000000..e2a45b8a --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Derivative.json @@ -0,0 +1,782 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Reals", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Derivative", + "description_string": "Block that approximates the derivative of the input", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "y_start", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + }, + "description": { + "description_string": "Initial value of output (= state)", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initialization\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "k" + }, + "description": { + "description_string": "Connector for gain signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 60 + }, + { + "x": -100, + "y": 100 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "T", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Time\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"s\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "100*Buildings.Controls.OBC.CDL.Constants.eps" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Time constant (T>0 required; T=0 is ideal derivative block)", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Input to be differentiated", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Approximation of derivative du/dt", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "protected_element_list": [ + { + "component_clause": { + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "T_nonZero", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"s\"" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Non-zero value for T" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "output", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "x" + }, + "description": { + "description_string": "State of block" + } + } + ] + } + } + ] + }, + { + "equation_section": { + "initial": true, + "equation": [ + { + "assignment_equation": { + "lhs": "x", + "rhs": { + "if_expression": { + "if_elseif": [ + { + "condition": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "abs(k)" + }, + { + "name": "Buildings.Controls.OBC.CDL.Constants.eps" + } + ], + "relation_operator": "<" + } + ] + } + ] + } + } + }, + "then": { + "simple_expression": "u" + } + } + ], + "else_expression": { + "simple_expression": "u -T*y_start/k" + } + } + } + } + } + ] + } + }, + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "T_nonZero", + "rhs": { + "simple_expression": { + "function_call": { + "name": "max", + "arguments": [ + { + "name": "T" + }, + { + "name": "100*Buildings.Controls.OBC.CDL.Constants.eps" + } + ] + } + } + } + } + }, + { + "assignment_equation": { + "lhs": "der(x)", + "rhs": { + "simple_expression": "(u -x)/T_nonZero" + } + } + }, + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": "(k/T_nonZero)*(u -x)" + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"der\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis blocks defines the transfer function between the\ninput u and the output y\nas approximated derivative:\n

\n
\n                s\n  y = k * ------------ * u\n            T * s + 1\n
\n

\nIf k=0, the block reduces to y=0.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nMay 20, 2022, by Michael Wetter:
    \nFirst implementation.
    \nThis is for\nissue 3022.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -56, + "y": 78 + }, + { + "x": -56, + "y": -90 + } + ], + "color": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": -56, + "y": 90 + }, + { + "x": -64, + "y": 68 + }, + { + "x": -48, + "y": 68 + }, + { + "x": -56, + "y": 90 + } + ], + "lineColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -64, + "y": -80 + }, + { + "x": 82, + "y": -80 + } + ], + "color": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 90, + "y": -80 + }, + { + "x": 68, + "y": -72 + }, + { + "x": 68, + "y": -88 + }, + { + "x": 90, + "y": -80 + } + ], + "lineColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -31.333, + "y": 89.333 + }, + { + "x": -19.333, + "y": -40.667 + }, + { + "x": 86.667, + "y": -52.667 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + }, + "smooth": "Smooth.Bezier" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 226, + "y": 60 + }, + { + "x": 106, + "y": 10 + } + ], + "textString": "DynamicSelect(\"\",String(y", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -106, + "y": 14 + }, + { + "x": -62, + "y": -12 + } + ], + "textString": "\"u\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 46, + "y": 14 + }, + { + "x": 90, + "y": -12 + } + ], + "textString": ",textString=", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -108, + "y": 94 + }, + { + "x": -64, + "y": 68 + } + ], + "textString": "\"k\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -108, + "y": 54 + }, + { + "x": -64, + "y": 28 + } + ], + "textString": "\"T\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + ] + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Derivative.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Derivative.mo", + "checksum": "02baea4c7904828cbd7f5e7d99b26c43" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Greater.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Greater.json new file mode 100644 index 00000000..2613c001 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Greater.json @@ -0,0 +1,1734 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Reals", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Greater", + "description_string": "Output y is true, if input u1 is greater than input u2", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "h", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "0" + } + } + }, + "description": { + "description_string": "Hysteresis", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Evaluate", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "pre_y_start", + "modification": { + "equal": true, + "expression": { + "simple_expression": "false" + } + } + }, + "description": { + "description_string": "Value of pre(y) at initial time", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u1" + }, + "description": { + "description_string": "Input u1", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u2" + }, + "description": { + "description_string": "Input u2", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -100 + }, + { + "x": -100, + "y": -60 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.BooleanOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Output y", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "protected_element_list": [ + { + "final": true, + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "have_hysteresis", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "h" + }, + { + "name": "1e-10" + } + ], + "relation_operator": ">=" + } + ] + } + ] + } + } + } + } + }, + "description": { + "description_string": "True if the block has no hysteresis", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Evaluate", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "GreaterWithHysteresis", + "component_list": [ + { + "declaration": { + "identifier": "greHys", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "h", + "modification": { + "equal": true, + "expression": { + "simple_expression": "h" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "pre_y_start", + "modification": { + "equal": true, + "expression": { + "simple_expression": "pre_y_start" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "have_hysteresis" + } + }, + "description": { + "description_string": "Block with hysteresis", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": 20 + }, + { + "x": 10, + "y": 40 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "GreaterNoHysteresis", + "component_list": [ + { + "declaration": { + "identifier": "greNoHys" + }, + "condition_attribute": { + "expression": { + "simple_expression": "not have_hysteresis" + } + }, + "description": { + "description_string": "Block without hysteresis", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -40 + }, + { + "x": 10, + "y": -20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "class_definition": { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "GreaterNoHysteresis", + "description_string": "Greater block without hysteresis", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u1" + }, + "description": { + "description_string": "Input u1", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u2" + }, + "description": { + "description_string": "Input u2", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -100 + }, + { + "x": -100, + "y": -60 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.BooleanOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Output y", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "u1" + }, + { + "name": "u2" + } + ], + "relation_operator": ">" + } + ] + } + ] + } + } + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": -100 + } + ], + "borderPattern": "BorderPattern.Raised", + "lineColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "fillColor": { + "r": 210, + "g": 210, + "b": 210 + }, + "fillPattern": "FillPattern.Solid", + "lineThickness": 5 + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + } + ] + } + } + } + } + }, + { + "class_definition": { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "GreaterWithHysteresis", + "description_string": "Greater block without hysteresis", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "h", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "0" + } + } + }, + "description": { + "description_string": "Hysteresis", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Evaluate", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "pre_y_start", + "modification": { + "equal": true, + "expression": { + "simple_expression": "false" + } + } + }, + "description": { + "description_string": "Value of pre(y) at initial time", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u1" + }, + "description": { + "description_string": "Input u1", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u2" + }, + "description": { + "description_string": "Input u2", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -100 + }, + { + "x": -100, + "y": -60 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.BooleanOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Output y", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "initial": true, + "equation": [ + { + "function_call_equation": { + "function_name": "assert", + "function_call_args": { + "function_argument": { + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "h" + }, + { + "name": "0" + } + ], + "relation_operator": ">=" + } + ] + } + ] + } + } + } + }, + "function_arguments": { + "function_argument": { + "expression": { + "simple_expression": "\"Hysteresis must not be negative\"" + } + } + } + } + } + }, + { + "assignment_equation": { + "lhs": { + "function_call": { + "name": "pre", + "arguments": [ + { + "name": "y" + } + ] + } + }, + "rhs": { + "simple_expression": "pre_y_start" + } + } + } + ] + } + }, + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": "([object Object])" + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": -100 + } + ], + "borderPattern": "BorderPattern.Raised", + "lineColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "fillColor": { + "r": 210, + "g": 210, + "b": 210 + }, + "fillPattern": "FillPattern.Solid", + "lineThickness": 5 + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -64, + "y": 62 + }, + { + "x": 62, + "y": 92 + } + ], + "textString": ",textString=", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + ] + } + } + } + ] + } + } + } + } + ] + } + } + } + } + } + ] + }, + { + "equation_section": { + "equation": [ + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "greHys" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": 0 + }, + { + "x": -66, + "y": 0 + }, + { + "x": -66, + "y": 30 + }, + { + "x": -12, + "y": 30 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "greHys" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": -80 + }, + { + "x": -60, + "y": -80 + }, + { + "x": -60, + "y": 22 + }, + { + "x": -12, + "y": 22 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "greHys" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 12, + "y": 30 + }, + { + "x": 60, + "y": 30 + }, + { + "x": 60, + "y": 0 + }, + { + "x": 120, + "y": 0 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "greNoHys" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": 0 + }, + { + "x": -66, + "y": 0 + }, + { + "x": -66, + "y": -30 + }, + { + "x": -12, + "y": -30 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "greNoHys" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": -80 + }, + { + "x": -60, + "y": -80 + }, + { + "x": -60, + "y": -38 + }, + { + "x": -12, + "y": -38 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "greNoHys" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 12, + "y": -30 + }, + { + "x": 60, + "y": -30 + }, + { + "x": 60, + "y": 0 + }, + { + "x": 120, + "y": 0 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"gre\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "false" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": -100 + } + ], + "borderPattern": "BorderPattern.Raised", + "lineColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "fillColor": { + "r": 210, + "g": 210, + "b": 210 + }, + "fillPattern": "FillPattern.Solid", + "lineThickness": 5 + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": 73, + "y": 7 + }, + { + "x": 87, + "y": -7 + } + ], + "lineColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -100, + "y": -80 + }, + { + "x": 42, + "y": -80 + }, + { + "x": 42, + "y": -62 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -12, + "y": 14 + }, + { + "x": 18, + "y": 2 + }, + { + "x": -12, + "y": -8 + } + ], + "thickness": 0.5 + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -64, + "y": 62 + }, + { + "x": 62, + "y": 92 + } + ], + "textString": ",textString=", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -88, + "y": -18 + }, + { + "x": -21, + "y": 24 + } + ], + "textString": "DynamicSelect(\"\",String(u1", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -86, + "y": -76 + }, + { + "x": -19, + "y": -34 + } + ], + "textString": "DynamicSelect(\"\",String(u2", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 22, + "y": 20 + }, + { + "x": 89, + "y": 62 + } + ], + "textString": "DynamicSelect(\"\",String(u2", + "textColor": { + "r": 235, + "g": 235, + "b": null + }, + "visible": ",visible=" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 22, + "y": 20 + }, + { + "x": 89, + "y": 62 + } + ], + "textString": "DynamicSelect(\"\",String(u2", + "textColor": { + "r": 235, + "g": 235, + "b": null + }, + "visible": ",visible=" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 20, + "y": -56 + }, + { + "x": 87, + "y": -14 + } + ], + "textString": "DynamicSelect(\"\",String(u2 -h", + "textColor": { + "r": 235, + "g": 235, + "b": null + }, + "visible": ",visible=" + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs true if the Real input u1\nis greater than the Real input u2, optionally within a hysteresis h.\n

\n

\nThe parameter h ≥ 0 is used to specify a hysteresis.\nFor any h ≥ 0, the output switches to true if u1 > u2,\nand it switches to false if u1 ≤ u2 - h.\nNote that in the special case of h = 0, this produces the output y=u1 > u2.\n

\n

\nTo disable hysteresis, set h=0.\n

\n

Usage

\n

\nEnabling hysteresis can avoid frequent switching.
\nIn simulation, adding hysteresis is recommended to guard against numerical noise.\nOtherwise, numerical noise from a nonlinear solver or from an\nimplicit time integration algorithm may cause the simulation to stall.\nNumerical noise can be present if an input depends\non a state variable or a quantity that requires an iterative solution,\nsuch as a temperature or a mass flow rate of an HVAC system.
\nIn real controllers, adding hysteresis is recommended to guard against measurement noise.\nOtherwise, measurement noise may cause the output to change frequently.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nApril 29, 2022, by Jianjun Hu:
    \nCorrected the condition of swiching true back to false.
    \nThis is for issue 2981.\n
  • \n
  • \nFebruary 3, 2021, by Antoine Gautier:
    \nCorrected documentation.
    \nThis is for issue 2246.\n
  • \n
  • \nAugust 5, 2020, by Michael Wetter:
    \nAdded hysteresis.
    \nThis is for issue 2076.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Greater.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Greater.mo", + "checksum": "be5ef14dcd9140ce763ab2f853a34955" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Hysteresis.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Hysteresis.json new file mode 100644 index 00000000..d7578bbc --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Hysteresis.json @@ -0,0 +1,794 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Reals", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Hysteresis", + "description_string": "Transform Real to Boolean signal with Hysteresis", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "uLow" + }, + "description": { + "description_string": "if y=true and uuHigh, switch to y=true" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "pre_y_start", + "modification": { + "equal": true, + "expression": { + "simple_expression": "false" + } + } + }, + "description": { + "description_string": "Value of pre(y) at initial time" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Real input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.BooleanOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Boolean output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "initial": true, + "equation": [ + { + "function_call_equation": { + "function_name": "assert", + "function_call_args": { + "function_argument": { + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "uHigh" + }, + { + "name": "uLow" + } + ], + "relation_operator": ">" + } + ] + } + ] + } + } + } + }, + "function_arguments": { + "function_argument": { + "expression": { + "simple_expression": "\"Hysteresis limits wrong. uHigh must be larger than uLow\"" + } + } + } + } + } + }, + { + "assignment_equation": { + "lhs": { + "function_call": { + "name": "pre", + "arguments": [ + { + "name": "y" + } + ] + } + }, + "rhs": { + "simple_expression": "pre_y_start" + } + } + } + ] + } + }, + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "u" + }, + { + "name": "uHigh" + } + ], + "relation_operator": ">" + } + ] + }, + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "u" + }, + { + "name": "uLow" + } + ], + "relation_operator": ">=" + } + ] + } + ] + } + } + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"hys\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": -100 + } + ], + "borderPattern": "BorderPattern.Raised", + "lineColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "fillColor": { + "r": 210, + "g": 210, + "b": 210 + }, + "fillPattern": "FillPattern.Solid", + "lineThickness": 5 + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": 71, + "y": 7 + }, + { + "x": 85, + "y": -7 + } + ], + "lineColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": -80, + "y": 90 + }, + { + "x": -88, + "y": 68 + }, + { + "x": -72, + "y": 68 + }, + { + "x": -80, + "y": 90 + } + ], + "lineColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": 68 + }, + { + "x": -80, + "y": -29 + } + ], + "color": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 92, + "y": -29 + }, + { + "x": 70, + "y": -21 + }, + { + "x": 70, + "y": -37 + }, + { + "x": 92, + "y": -29 + } + ], + "lineColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -79, + "y": -29 + }, + { + "x": 84, + "y": -29 + } + ], + "color": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -79, + "y": -29 + }, + { + "x": 41, + "y": -29 + } + ] + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -15, + "y": -21 + }, + { + "x": 1, + "y": -29 + }, + { + "x": -15, + "y": -36 + } + ] + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": 41, + "y": 51 + }, + { + "x": 41, + "y": -29 + } + ] + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": 33, + "y": 3 + }, + { + "x": 41, + "y": 22 + }, + { + "x": 50, + "y": 3 + } + ] + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -49, + "y": 51 + }, + { + "x": 81, + "y": 51 + } + ] + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -4, + "y": 59 + }, + { + "x": -19, + "y": 51 + }, + { + "x": -4, + "y": 43 + } + ] + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -59, + "y": 29 + }, + { + "x": -49, + "y": 11 + }, + { + "x": -39, + "y": 29 + } + ] + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -49, + "y": 51 + }, + { + "x": -49, + "y": -29 + } + ] + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -92, + "y": -49 + }, + { + "x": -9, + "y": -92 + } + ], + "textString": "\"%uLow\"", + "textColor": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 2, + "y": -49 + }, + { + "x": 91, + "y": -92 + } + ], + "textString": "\"%uHigh\"", + "textColor": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -91, + "y": -49 + }, + { + "x": -8, + "y": -92 + } + ], + "lineColor": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -49, + "y": -29 + }, + { + "x": -49, + "y": -49 + } + ], + "color": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": 2, + "y": -49 + }, + { + "x": 91, + "y": -92 + } + ], + "lineColor": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": 41, + "y": -29 + }, + { + "x": 41, + "y": -49 + } + ], + "color": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that transforms a Real input signal into a Boolean\noutput signal:\n

\n
    \n
  • When the output was false and the input becomes\n greater than the parameter uHigh, the output\n switches to true.\n
  • \n
  • When the output was true and the input becomes\n less than the parameter uLow, the output\n switches to false.\n
  • \n
\n

\nThe start value of the output is defined via parameter\npre_y_start (= value of pre(y) at initial time).\nThe default value of this parameter is false.\n

\n

\n\\\"Hysteresis.png\\\"\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nOctober 3, 2017, by Michael Wetter:
    \nRemoved start value for parameters, and moved assertion to initial equation.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Hysteresis.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Hysteresis.mo", + "checksum": "b6d025eaf826d61d3ee4fdca33c80643" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.json new file mode 100644 index 00000000..9016caaf --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.json @@ -0,0 +1,584 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Reals", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "IntegratorWithReset", + "description_string": "Output the integral of the input signal", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Integrator gain" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "y_start", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + }, + "description": { + "description_string": "Initial or guess value of output (= state)", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initialization\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Connector of Real input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "y_reset_in" + }, + "description": { + "description_string": "Input signal for state to which integrator is reset", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -100 + }, + { + "x": -100, + "y": -60 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", + "component_list": [ + { + "declaration": { + "identifier": "trigger" + }, + "description": { + "description_string": "Resets the integrator output when trigger becomes true", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "origin": { + "x": 0, + "y": -120 + }, + "extent": [ + { + "x": -20, + "y": -20 + }, + { + "x": 20, + "y": 20 + } + ], + "rotation": 90 + }, + "iconTransformation": { + "origin": { + "x": 0, + "y": -120 + }, + "extent": [ + { + "x": -20, + "y": -20 + }, + { + "x": 20, + "y": 20 + } + ], + "rotation": 90 + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Connector of Real output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "initial": true, + "equation": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": "y_start" + } + } + } + ] + } + }, + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "der(y)", + "rhs": { + "simple_expression": "k*u" + } + } + }, + { + "when_equation": [ + { + "condition": { + "simple_expression": "trigger" + }, + "then": [ + { + "function_call_equation": { + "function_name": "reinit", + "function_call_args": { + "function_argument": { + "expression": { + "simple_expression": "y" + } + }, + "function_arguments": { + "function_argument": { + "expression": { + "simple_expression": "y_reset_in" + } + } + } + } + } + } + ] + } + ] + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"intWitRes\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -88, + "y": -94 + }, + { + "x": 212, + "y": -54 + } + ], + "textString": "\"y_reset_in\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "horizontalAlignment": "TextAlignment.Left" + } + }, + { + "name": "Bitmap", + "attribute": { + "extent": [ + { + "x": -54, + "y": -50 + }, + { + "x": 60, + "y": 50 + } + ], + "fileName": "\"modelica://Buildings/Resources/Images/Controls/OBC/CDL/Reals/int.png\"" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -88, + "y": 56 + }, + { + "x": 206, + "y": 92 + } + ], + "textString": ",textString=", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "horizontalAlignment": "TextAlignment.Left" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -92, + "y": -12 + }, + { + "x": 208, + "y": 28 + } + ], + "textString": "\"u\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "horizontalAlignment": "TextAlignment.Left" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 70, + "y": -14 + }, + { + "x": 370, + "y": 26 + } + ], + "textString": "\"y\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "horizontalAlignment": "TextAlignment.Left" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 226, + "y": 60 + }, + { + "x": 106, + "y": 10 + } + ], + "textString": "DynamicSelect(\"\",String(y", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs\n

\n

\ny(t) = ystart + ∫t0t u(s) ds.\n

\n

\nWhenever the input signal trigger changes from false\nto true,\nthe integrator is reset by setting ystart\nto the value of the input signal y_reset_in.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nJune 8, 2023, by Michael Wetter:
    \nUpdated documentation.\n
  • \n
  • \nFebruary 2, 2022, by Michael Wetter:
    \nRemoved unit=\\\"1\\\" declaration for gain k.\nThis is to avoid the warning observed in\n#2872.\n
  • \n
  • \nOctober 21, 2021, by Michael Wetter:
    \nRemoved errorneous visible attribute in icon.\n
  • \n
  • \nAugust 3, 2020, by Jianjun:
    \nFixed the input y_reset_in.\n
    \nThis is for\nissue 2056.\n
  • \n
  • \nApril 21, 2020, by Michael Wetter:
    \nRemoved parameter initType.\n
    \nThis is for\nissue 1887.\n
  • \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nNovember 6, 2017, by Michael Wetter:
    \nExplicitly declared types from CDL.\n
  • \n
  • \nMarch 23, 2017, by Jianjun Hu:
    \nFirst implementation, based on the implementation of\n\nBuildings.Utilities.Math.IntegratorWithReset.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/IntegratorWithReset.mo", + "checksum": "89d7c69c235dcc9ebb07613b0d3a3077" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Limiter.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Limiter.json new file mode 100644 index 00000000..b42aa723 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Limiter.json @@ -0,0 +1,561 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Reals", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Limiter", + "description_string": "Limit the range of a signal", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "uMax" + }, + "description": { + "description_string": "Upper limit of input signal" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "uMin" + }, + "description": { + "description_string": "Lower limit of input signal" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Connector of Real input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Connector of Real output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "initial": true, + "equation": [ + { + "function_call_equation": { + "function_name": "assert", + "function_call_args": { + "function_argument": { + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "uMin" + }, + { + "name": "uMax" + } + ], + "relation_operator": "<" + } + ] + } + ] + } + } + } + }, + "function_arguments": { + "function_argument": { + "expression": { + "simple_expression": "\"uMin must be smaller than uMax. Check parameters.\"" + } + } + } + } + } + } + ] + } + }, + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": { + "function_call": { + "name": "homotopy", + "arguments": [ + { + "name": "actual=smooth(0,noEvent(if [object Object] then uMax else if [object Object] then uMin else u)),simplified=u" + } + ] + } + } + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"lim\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs y = min(uMax, max(uMin, u)),\nwhere\nu is an input\nand\nuMax and uMin are parameters.\n

\n

\nIf uMax < uMin, an error occurs and no output is produced.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nJuly 17, 2017, by Michael Wetter:
    \nRemoved cyclical definition.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 110 + }, + { + "x": 150, + "y": 150 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": 0, + "y": -90 + }, + { + "x": 0, + "y": 68 + } + ], + "color": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 0, + "y": 90 + }, + { + "x": -8, + "y": 68 + }, + { + "x": 8, + "y": 68 + }, + { + "x": 0, + "y": 90 + } + ], + "lineColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -90, + "y": 0 + }, + { + "x": 68, + "y": 0 + } + ], + "color": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 90, + "y": 0 + }, + { + "x": 68, + "y": -8 + }, + { + "x": 68, + "y": 8 + }, + { + "x": 90, + "y": 0 + } + ], + "lineColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": -70 + }, + { + "x": -50, + "y": -70 + }, + { + "x": 50, + "y": 70 + }, + { + "x": 80, + "y": 70 + } + ] + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": 50, + "y": 70 + }, + { + "x": 80, + "y": 70 + } + ] + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": -70 + }, + { + "x": -50, + "y": -70 + } + ] + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 12, + "y": 72 + }, + { + "x": 94, + "y": 98 + } + ], + "textString": "\"%uMax\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": -98 + }, + { + "x": -18, + "y": -72 + } + ], + "textString": "\"%uMin\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 226, + "y": 60 + }, + { + "x": 106, + "y": 10 + } + ], + "textString": "DynamicSelect(\"\",String(y", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + ] + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Limiter.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Limiter.mo", + "checksum": "1c4e972e729ef2669cf41617559278c8" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Min.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Min.json new file mode 100644 index 00000000..25830f40 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Min.json @@ -0,0 +1,339 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Reals", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Min", + "description_string": "Pass through the smallest signal", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u1" + }, + "description": { + "description_string": "Connector of Real input signal 1", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u2" + }, + "description": { + "description_string": "Connector of Real input signal 2", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Connector of Real output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": { + "function_call": { + "name": "min", + "arguments": [ + { + "name": "u1" + }, + { + "name": "u2" + } + ] + } + } + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"min\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs y = min(u1, u2),\nwhere\nu1 and u2 are inputs.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -90, + "y": 36 + }, + { + "x": 90, + "y": -36 + } + ], + "textString": "\"min()\"", + "textColor": { + "r": 160, + "g": 160, + "b": 164 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 226, + "y": 60 + }, + { + "x": 106, + "y": 10 + } + ], + "textString": "DynamicSelect(\"\",String(y", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + ] + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Min.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Min.mo", + "checksum": "573a70ec95c00792a6e99a8d4a854cd6" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.json new file mode 100644 index 00000000..2ce6d347 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.json @@ -0,0 +1,314 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Reals", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "MultiplyByParameter", + "description_string": "Output the product of a gain value with the input signal", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "k" + }, + "description": { + "description_string": "Gain value multiplied with input signal" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Input signal connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Output signal connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": "k*u" + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"gai\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs y = k * u,\nwhere\nk is a parameter and\nu is an input.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nJanuary 27, 2022, by Jianjun Hu:
    \nRenamed the block name from Gain to MultiplyByParameter.
    \nThis is for issue 2865.\n
  • \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": -100, + "y": -100 + }, + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": 0 + }, + { + "x": -100, + "y": -100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": -140 + }, + { + "x": 150, + "y": -100 + } + ], + "textString": ",textString=", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 144 + }, + { + "x": 150, + "y": 104 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 226, + "y": 60 + }, + { + "x": 106, + "y": 10 + } + ], + "textString": "DynamicSelect(\"\",String(y", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + ] + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.mo", + "checksum": "b437136da7b6ca8036b2e38d776836e9" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/PID.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/PID.json new file mode 100644 index 00000000..49987915 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/PID.json @@ -0,0 +1,5127 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Reals", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "PID", + "description_string": "P, PI, PD, and PID controller", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Buildings.Controls.OBC.CDL.Types.SimpleController", + "component_list": [ + { + "declaration": { + "identifier": "controllerType", + "modification": { + "equal": true, + "expression": { + "simple_expression": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" + } + } + }, + "description": { + "description_string": "Type of controller" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "k", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "100*Constants.eps" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Gain of controller", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Control gains\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "Ti", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Time\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"s\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "100*Constants.eps" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "0.5" + } + } + }, + "description": { + "description_string": "Time constant of integrator block", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Control gains\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PI" + } + ], + "relation_operator": "==" + } + ] + }, + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PID" + } + ], + "relation_operator": "==" + } + ] + } + ] + } + } + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "Td", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Time\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"s\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "100*Constants.eps" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "0.1" + } + } + }, + "description": { + "description_string": "Time constant of derivative block", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Control gains\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PD" + } + ], + "relation_operator": "==" + } + ] + }, + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PID" + } + ], + "relation_operator": "==" + } + ] + } + ] + } + } + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "r", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "100*Constants.eps" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Typical range of control error, used for scaling the control error" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "yMax", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Upper limit of output", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Limits\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "yMin", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + }, + "description": { + "description_string": "Lower limit of output", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Limits\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "Ni", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "100*Constants.eps" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "0.9" + } + } + }, + "description": { + "description_string": "Ni*Ti is time constant of anti-windup compensation", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Integrator anti-windup\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PI" + } + ], + "relation_operator": "==" + } + ] + }, + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PID" + } + ], + "relation_operator": "==" + } + ] + } + ] + } + } + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "Nd", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "100*Constants.eps" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "10" + } + } + }, + "description": { + "description_string": "The higher Nd, the more ideal the derivative block", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Derivative block\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PD" + } + ], + "relation_operator": "==" + } + ] + }, + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PID" + } + ], + "relation_operator": "==" + } + ] + } + ] + } + } + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "xi_start", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + }, + "description": { + "description_string": "Initial value of integrator state", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initialization\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PI" + } + ], + "relation_operator": "==" + } + ] + }, + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PID" + } + ], + "relation_operator": "==" + } + ] + } + ] + } + } + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "yd_start", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + }, + "description": { + "description_string": "Initial value of derivative output", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initialization\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PD" + } + ], + "relation_operator": "==" + } + ] + }, + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PID" + } + ], + "relation_operator": "==" + } + ] + } + ] + } + } + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "reverseActing", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + }, + "description": { + "description_string": "Set to true for reverse acting, or false for direct acting control action" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u_s" + }, + "description": { + "description_string": "Connector of setpoint input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -260, + "y": -20 + }, + { + "x": -220, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u_m" + }, + "description": { + "description_string": "Connector of measurement input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "origin": { + "x": 0, + "y": -220 + }, + "extent": [ + { + "x": 20, + "y": -20 + }, + { + "x": -20, + "y": 20 + } + ], + "rotation": 270 + }, + "iconTransformation": { + "origin": { + "x": 0, + "y": -120 + }, + "extent": [ + { + "x": 20, + "y": -20 + }, + { + "x": -20, + "y": 20 + } + ], + "rotation": 270 + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Connector of actuator output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 220, + "y": -20 + }, + { + "x": 260, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", + "component_list": [ + { + "declaration": { + "identifier": "controlError" + }, + "description": { + "description_string": "Control error (set point - measurement)", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -200, + "y": -16 + }, + { + "x": -180, + "y": 4 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "component_list": [ + { + "declaration": { + "identifier": "P", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Gain for proportional control action", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -50, + "y": 130 + }, + { + "x": -30, + "y": 150 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.IntegratorWithReset", + "component_list": [ + { + "declaration": { + "identifier": "I", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k/Ti" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "y_start", + "modification": { + "equal": true, + "expression": { + "simple_expression": "xi_start" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_I" + } + }, + "description": { + "description_string": "Integral term", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -50, + "y": -10 + }, + { + "x": -30, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Derivative", + "component_list": [ + { + "declaration": { + "identifier": "D", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "y_start", + "modification": { + "equal": true, + "expression": { + "simple_expression": "yd_start" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_D" + } + }, + "description": { + "description_string": "Derivative term", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -50, + "y": 60 + }, + { + "x": -30, + "y": 80 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", + "component_list": [ + { + "declaration": { + "identifier": "errP" + }, + "description": { + "description_string": "P error", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 130 + }, + { + "x": -120, + "y": 150 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", + "component_list": [ + { + "declaration": { + "identifier": "errD" + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_D" + } + }, + "description": { + "description_string": "D error", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 60 + }, + { + "x": -120, + "y": 80 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", + "component_list": [ + { + "declaration": { + "identifier": "errI1" + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_I" + } + }, + "description": { + "description_string": "I error (before anti-windup compensation)", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -4 + }, + { + "x": -120, + "y": 16 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", + "component_list": [ + { + "declaration": { + "identifier": "errI2" + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_I" + } + }, + "description": { + "description_string": "I error (after anti-windup compensation)", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -100, + "y": -10 + }, + { + "x": -80, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Limiter", + "component_list": [ + { + "declaration": { + "identifier": "lim", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "uMax", + "modification": { + "equal": true, + "expression": { + "simple_expression": "yMax" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "uMin", + "modification": { + "equal": true, + "expression": { + "simple_expression": "yMin" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Limiter", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 120, + "y": 80 + }, + { + "x": 140, + "y": 100 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "protected_element_list": [ + { + "final": true, + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "revAct", + "modification": { + "equal": true, + "expression": { + "if_expression": { + "if_elseif": [ + { + "condition": { + "simple_expression": "reverseActing" + }, + "then": { + "simple_expression": "1" + } + } + ], + "else_expression": { + "simple_expression": "-1" + } + } + } + } + }, + "description": { + "description_string": "Switch for sign for reverse or direct acting controller" + } + } + ] + } + }, + { + "final": true, + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "with_I", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" + } + ], + "relation_operator": "==" + } + ] + }, + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PID" + } + ], + "relation_operator": "==" + } + ] + } + ] + } + } + } + } + }, + "description": { + "description_string": "Boolean flag to enable integral action", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Evaluate", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "HideResult", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + ] + } + }, + { + "final": true, + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "with_D", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PD" + } + ], + "relation_operator": "==" + } + ] + }, + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PID" + } + ], + "relation_operator": "==" + } + ] + } + ] + } + } + } + } + }, + "description": { + "description_string": "Boolean flag to enable derivative action", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Evaluate", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "HideResult", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Sources.Constant", + "component_list": [ + { + "declaration": { + "identifier": "kDer", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k*Td" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_D" + } + }, + "description": { + "description_string": "Gain for derivative block", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -100, + "y": 110 + }, + { + "x": -80, + "y": 130 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Sources.Constant", + "component_list": [ + { + "declaration": { + "identifier": "TDer", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "Td/Nd" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_D" + } + }, + "description": { + "description_string": "Time constant for approximation in derivative block", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -100, + "y": 80 + }, + { + "x": -80, + "y": 100 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", + "component_list": [ + { + "declaration": { + "identifier": "Dzero", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "not with_D" + } + }, + "description": { + "description_string": "Zero input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Evaluate", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "HideResult", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -50, + "y": 90 + }, + { + "x": -30, + "y": 110 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "component_list": [ + { + "declaration": { + "identifier": "uS_revAct", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "revAct/r" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Set point multiplied by reverse action sign", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -200, + "y": 30 + }, + { + "x": -180, + "y": 50 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "component_list": [ + { + "declaration": { + "identifier": "uMea_revAct", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "revAct/r" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Set point multiplied by reverse action sign", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -200, + "y": -50 + }, + { + "x": -180, + "y": -30 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", + "component_list": [ + { + "declaration": { + "identifier": "addPD" + }, + "description": { + "description_string": "Outputs P and D gains added", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 20, + "y": 124 + }, + { + "x": 40, + "y": 144 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", + "component_list": [ + { + "declaration": { + "identifier": "addPID" + }, + "description": { + "description_string": "Outputs P, I and D gains added", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 80, + "y": 80 + }, + { + "x": 100, + "y": 100 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", + "component_list": [ + { + "declaration": { + "identifier": "antWinErr" + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_I" + } + }, + "description": { + "description_string": "Error for anti-windup compensation", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 160, + "y": 50 + }, + { + "x": 180, + "y": 70 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "component_list": [ + { + "declaration": { + "identifier": "antWinGai", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1/(k*Ni)" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_I" + } + }, + "description": { + "description_string": "Gain for anti-windup compensation", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 180, + "y": -30 + }, + { + "x": 160, + "y": -10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Sources.Constant", + "component_list": [ + { + "declaration": { + "identifier": "cheYMinMax", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "yMin" + }, + { + "name": "yMax" + } + ], + "relation_operator": "<" + } + ] + } + ] + } + } + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Check for values of yMin and yMax", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 120, + "y": -160 + }, + { + "x": 140, + "y": -140 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Utilities.Assert", + "component_list": [ + { + "declaration": { + "identifier": "assMesYMinMax", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "message", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"LimPID: Limits must be yMin < yMax\"" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Assertion on yMin and yMax", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 160, + "y": -160 + }, + { + "x": 180, + "y": -140 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", + "component_list": [ + { + "declaration": { + "identifier": "Izero", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "not with_I" + } + }, + "description": { + "description_string": "Zero input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -50, + "y": 20 + }, + { + "x": -30, + "y": 40 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", + "component_list": [ + { + "declaration": { + "identifier": "con", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_I" + } + }, + "description": { + "description_string": "Constant zero", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -100, + "y": -50 + }, + { + "x": -80, + "y": -30 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Sources.Constant", + "component_list": [ + { + "declaration": { + "identifier": "con1", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "false" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_I" + } + }, + "description": { + "description_string": "Constant false", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -100, + "y": -90 + }, + { + "x": -80, + "y": -70 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ] + }, + { + "equation_section": { + "equation": [ + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u_s" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "uS_revAct" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -240, + "y": 0 + }, + { + "x": -210, + "y": 0 + }, + { + "x": -210, + "y": 40 + }, + { + "x": -202, + "y": 40 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u_m" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "uMea_revAct" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 0, + "y": -220 + }, + { + "x": 0, + "y": -160 + }, + { + "x": -210, + "y": -160 + }, + { + "x": -210, + "y": -40 + }, + { + "x": -202, + "y": -40 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "D" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "errD" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -52, + "y": 70 + }, + { + "x": -118, + "y": 70 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "errI1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "uS_revAct" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -142, + "y": 12 + }, + { + "x": -170, + "y": 12 + }, + { + "x": -170, + "y": 40 + }, + { + "x": -178, + "y": 40 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "addPID" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "addPD" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 78, + "y": 96 + }, + { + "x": 50, + "y": 96 + }, + { + "x": 50, + "y": 134 + }, + { + "x": 42, + "y": 134 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "lim" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 142, + "y": 90 + }, + { + "x": 200, + "y": 90 + }, + { + "x": 200, + "y": 0 + }, + { + "x": 240, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "antWinErr" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "antWinGai" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 182, + "y": 60 + }, + { + "x": 190, + "y": 60 + }, + { + "x": 190, + "y": -20 + }, + { + "x": 182, + "y": -20 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "addPD" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "Dzero" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 18, + "y": 128 + }, + { + "x": -10, + "y": 128 + }, + { + "x": -10, + "y": 100 + }, + { + "x": -28, + "y": 100 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "D" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "addPD" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -28, + "y": 70 + }, + { + "x": -10, + "y": 70 + }, + { + "x": -10, + "y": 128 + }, + { + "x": 18, + "y": 128 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "addPID" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "I" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 78, + "y": 84 + }, + { + "x": 60, + "y": 84 + }, + { + "x": 60, + "y": 0 + }, + { + "x": -28, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "antWinErr" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "lim" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 158, + "y": 54 + }, + { + "x": 150, + "y": 54 + }, + { + "x": 150, + "y": 90 + }, + { + "x": 142, + "y": 90 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "I" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "errI2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -52, + "y": 0 + }, + { + "x": -78, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "errI1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "errI2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -118, + "y": 6 + }, + { + "x": -102, + "y": 6 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "cheYMinMax" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "assMesYMinMax" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 142, + "y": -150 + }, + { + "x": 158, + "y": -150 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "Izero" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "addPID" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -28, + "y": 30 + }, + { + "x": 60, + "y": 30 + }, + { + "x": 60, + "y": 84 + }, + { + "x": 78, + "y": 84 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "con" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "I" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y_reset_in" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -78, + "y": -40 + }, + { + "x": -60, + "y": -40 + }, + { + "x": -60, + "y": -8 + }, + { + "x": -52, + "y": -8 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "con1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "I" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "trigger" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -78, + "y": -80 + }, + { + "x": -40, + "y": -80 + }, + { + "x": -40, + "y": -12 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "uS_revAct" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "errP" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -178, + "y": 40 + }, + { + "x": -170, + "y": 40 + }, + { + "x": -170, + "y": 146 + }, + { + "x": -142, + "y": 146 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "errD" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "uS_revAct" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -142, + "y": 76 + }, + { + "x": -170, + "y": 76 + }, + { + "x": -170, + "y": 40 + }, + { + "x": -178, + "y": 40 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "addPD" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "P" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 18, + "y": 140 + }, + { + "x": -28, + "y": 140 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "P" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "errP" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -52, + "y": 140 + }, + { + "x": -118, + "y": 140 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "addPID" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "lim" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 102, + "y": 90 + }, + { + "x": 118, + "y": 90 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "addPID" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "antWinErr" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 102, + "y": 90 + }, + { + "x": 114, + "y": 90 + }, + { + "x": 114, + "y": 66 + }, + { + "x": 158, + "y": 66 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u_s" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "controlError" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -240, + "y": 0 + }, + { + "x": -202, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u_m" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "controlError" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 0, + "y": -220 + }, + { + "x": 0, + "y": -160 + }, + { + "x": -210, + "y": -160 + }, + { + "x": -210, + "y": -12 + }, + { + "x": -202, + "y": -12 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "uMea_revAct" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "errP" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -178, + "y": -40 + }, + { + "x": -150, + "y": -40 + }, + { + "x": -150, + "y": 134 + }, + { + "x": -142, + "y": 134 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "uMea_revAct" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "errD" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -178, + "y": -40 + }, + { + "x": -150, + "y": -40 + }, + { + "x": -150, + "y": 64 + }, + { + "x": -142, + "y": 64 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "uMea_revAct" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "errI1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -178, + "y": -40 + }, + { + "x": -150, + "y": -40 + }, + { + "x": -150, + "y": 0 + }, + { + "x": -142, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "antWinGai" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "errI2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 158, + "y": -20 + }, + { + "x": -110, + "y": -20 + }, + { + "x": -110, + "y": -6 + }, + { + "x": -102, + "y": -6 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "kDer" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "D" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "k" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -78, + "y": 120 + }, + { + "x": -58, + "y": 120 + }, + { + "x": -58, + "y": 78 + }, + { + "x": -52, + "y": 78 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "TDer" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "D" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "T" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -78, + "y": 90 + }, + { + "x": -60, + "y": 90 + }, + { + "x": -60, + "y": 74 + }, + { + "x": -52, + "y": 74 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"conPID\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -6, + "y": -20 + }, + { + "x": 66, + "y": -66 + } + ], + "lineColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -32, + "y": -22 + }, + { + "x": 68, + "y": -62 + } + ], + "textString": "\"P\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "visible": "([object Object])", + "fillColor": { + "r": 175, + "g": 175, + "b": 175 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -26, + "y": -22 + }, + { + "x": 74, + "y": -62 + } + ], + "textString": "\"PI\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "visible": "([object Object])", + "fillColor": { + "r": 175, + "g": 175, + "b": 175 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -16, + "y": -22 + }, + { + "x": 88, + "y": -62 + } + ], + "textString": "\"P D\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "visible": "([object Object])", + "fillColor": { + "r": 175, + "g": 175, + "b": 175 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -14, + "y": -22 + }, + { + "x": 86, + "y": -62 + } + ], + "textString": "\"PID\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "visible": "([object Object])", + "fillColor": { + "r": 175, + "g": 175, + "b": 175 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": -80, + "y": 82 + }, + { + "x": -88, + "y": 60 + }, + { + "x": -72, + "y": 60 + }, + { + "x": -80, + "y": 82 + } + ], + "lineColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": 68 + }, + { + "x": -80, + "y": -100 + } + ], + "color": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -90, + "y": -80 + }, + { + "x": 70, + "y": -80 + } + ], + "color": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 74, + "y": -80 + }, + { + "x": 52, + "y": -72 + }, + { + "x": 52, + "y": -88 + }, + { + "x": 74, + "y": -80 + } + ], + "lineColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": -80 + }, + { + "x": -80, + "y": -22 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": -22 + }, + { + "x": 6, + "y": 56 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": 6, + "y": 56 + }, + { + "x": 68, + "y": 56 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": 100, + "y": -100 + }, + { + "x": 84, + "y": -100 + }, + { + "x": null, + "y": null + }, + { + "x": 100, + "y": -100 + }, + { + "x": 84, + "y": null + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "fillColor": { + "r": 175, + "g": 175, + "b": 175 + }, + "pattern": "LinePattern.None", + "fillPattern": "FillPattern.Solid" + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -220, + "y": -200 + }, + { + "x": 220, + "y": 200 + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -56, + "y": 180 + }, + { + "x": -24, + "y": -16 + } + ], + "fillColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "pattern": "LinePattern.None", + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -52, + "y": 184 + }, + { + "x": -28, + "y": 156 + } + ], + "textString": "\"PID\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "fillColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "pattern": "LinePattern.None", + "fillPattern": "FillPattern.Solid" + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nPID controller in the standard form\n

\n

\nyu = k/r   (e(t) + 1 ⁄ Ti   ∫ e(τ) dτ + Td d⁄dt e(t)),\n

\n

\nwhere\nyu is the control signal before output limitation,\ne(t) = us(t) - um(t) is the control error,\nwith us being the set point and um being\nthe measured quantity,\nk is the gain,\nTi is the time constant of the integral term,\nTd is the time constant of the derivative term,\nand\nr is a scaling factor, with default r=1.\nThe scaling factor should be set to the typical order of magnitude of the range of the error e.\nFor example, you may set r=100 to r=1000\nif the control input is a pressure of a heating water circulation pump in units of Pascal, or\nleave r=1 if the control input is a room temperature.\n

\n

\nNote that the units of k are the inverse of the units of the control error,\nwhile the units of Ti and Td are seconds.\n

\n

\nThe actual control output is\n

\n

\ny = min( ymax, max( ymin, y)),\n

\n

\nwhere ymin and ymax are limits for the control signal.\n

\n

P, PI, PD, or PID action

\n

\nThrough the parameter controllerType, the controller can be configured\nas P, PI, PD or PID controller. The default configuration is PI.\n

\n

Reverse or direct action

\n

\nThrough the parameter reverseActing, the controller can be configured to\nbe reverse or direct acting.\nThe above standard form is reverse acting, which is the default configuration.\nFor a reverse acting controller, for a constant set point,\nan increase in measurement signal u_m decreases the control output signal y\n(Montgomery and McDowall, 2008).\nThus,\n

\n
    \n
  • \n for a heating coil with a two-way valve, leave reverseActing = true, but\n
  • \n
  • \n for a cooling coil with a two-way valve, set reverseActing = false.\n
  • \n
\n

\nIf reverseAction=false, then the error e above is multiplied by -1.\n

\n

Anti-windup compensation

\n

\nThe controller anti-windup compensation is as follows:\nInstead of the above basic control law, the implementation is\n

\n

\nyu = k   (e(t) ⁄ r + 1 ⁄ Ti   ∫ (-Δy + e(τ) ⁄ r) dτ + Td ⁄ r d⁄dt e(t)),\n

\n

\nwhere the anti-windup compensation Δy is\n

\n

\nΔy = (yu - y) ⁄ (k Ni),\n

\n

\nwhere\nNi > 0 is the time constant for the anti-windup compensation.\nTo accelerate the anti-windup, decrease Ni.\n

\n

\nNote that the anti-windup term (-Δy + e(τ) ⁄ r) shows that the range of\nthe typical control error r should be set to a reasonable value so that\n

\n

\ne(τ) ⁄ r = (us(τ) - um(τ)) ⁄ r\n

\n

\nhas order of magnitude one, and hence the anti-windup compensation should work well.\n

\n

Reset of the controller output

\n

\nNote that this controller implements an integrator anti-windup. Therefore,\nfor most applications, the controller output does not need to be reset.\nHowever, if the controller is used in conjuction with equipment that is being\nswitched on, better control performance may be achieved by resetting the controller\noutput when the equipment is switched on. This is in particular the case in situations\nwhere the equipment control input should continuously increase as the equipment is\nswitched on, such as a light dimmer that may slowly increase the luminance, or\na variable speed drive of a motor that should continuously increase the speed. In\nthis case, the controller\n\nBuildings.Controls.OBC.CDL.Reals.PIDWithReset\nthat can reset the output should be used.\n

\n

Approximation of the derivative term

\n

\nThe derivative of the control error d ⁄ dt e(t) is approximated using\n

\n

\nd⁄dt x(t) = (e(t)-x(t)) Nd ⁄ Td,\n

\n

\nand\n

\n

\nd⁄dt e(t) ≈ Nd (e(t)-x(t)),\n

\n

\nwhere x(t) is an internal state.\n

\n

Guidance for tuning the control gains

\n

\nThe parameters of the controller can be manually adjusted by performing\nclosed loop tests (= controller + plant connected\ntogether) and using the following strategy:\n

\n
    \n
  1. Set very large limits, e.g., set ymax = 1000.\n
  2. \n
  3. \nSelect a P-controller and manually enlarge the parameter k\n(the total gain of the controller) until the closed-loop response\ncannot be improved any more.\n
  4. \n
  5. \nSelect a PI-controller and manually adjust the parameters\nk and Ti (the time constant of the integrator).\nThe first value of Ti can be selected such that it is in the\norder of the time constant of the oscillations occurring with\nthe P-controller. If, e.g., oscillations in the order of 100 seconds\noccur in the previous step, start with Ti=1/100 seconds.\n
  6. \n
  7. \nIf you want to make the reaction of the control loop faster\n(but probably less robust against disturbances and measurement noise)\nselect a PID-controller and manually adjust parameters\nk, Ti, Td (time constant of derivative block).\n
  8. \n
  9. \nSet the limits yMax and yMin according to your specification.\n
  10. \n
  11. \nPerform simulations such that the output of the PID controller\ngoes in its limits. Tune Ni (Ni Ti is the time constant of\nthe anti-windup compensation) such that the input to the limiter\nblock (= lim.u) goes quickly enough back to its limits.\nIf Ni is decreased, this happens faster. If Ni is very large, the\nanti-windup compensation is not effective and the controller works bad.\n
  12. \n
\n

References

\n

\nR. Montgomery and R. McDowall (2008).\n\\\"Fundamentals of HVAC Control Systems.\\\"\nAmerican Society of Heating Refrigerating and Air-Conditioning Engineers Inc. Atlanta, GA.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nMay 20, 2022, by Michael Wetter:
    \nRefactored implementation to use new derivative block from CDL package.
    \nThis is for\nissue 3022.\n
  • \n
  • \nMay 6, 2022, by Michael Wetter:
    \nCorrected wrong documentation in how the derivative of the control error is approximated.
    \nThis is for\nissue 2994.\n
  • \n
  • \nNovember 12, 2020, by Michael Wetter:
    \nReformulated to remove dependency to Modelica.Units.SI.
    \nThis is for\nissue 2243.\n
  • \n
  • \nOctober 15, 2020, by Michael Wetter:
    \nAdded scaling factor r, removed set point weights wp and wd.\nRevised documentation.
    \nThis is for issue 2182.\n
  • \n
  • \nAugust 4, 2020, by Jianjun Hu:
    \nRemoved the conditional inputs trigger and y_rest_in.\nRefactored to internally implement the derivative block.
    \nThis is for issue 2056.\n
  • \n
  • \nJune 1, 2020, by Michael Wetter:
    \nCorrected wrong convention of reverse and direct action.
    \nThis is for issue 1365.\n
  • \n
  • \nApril 23, 2020, by Michael Wetter:
    \nChanged default parameters for limits yMax from unspecified to 1\nand yMin from -yMax to 0.
    \nThis is for\nissue 1888.\n
  • \n
  • \nApril 7, 2020, by Michael Wetter:
    \nReimplemented block using only CDL constructs.\nThis refactoring removes the no longer use parameters xd_start that was\nused to initialize the state of the derivative term. This state is now initialized\nbased on the requested initial output yd_start which is a new parameter\nwith a default of 0.\nAlso, removed the parameters y_start and initType because\nthe initial output of the controller can be set by using xi_start\nand yd_start.\nThis is a non-backward compatible change, made to simplify the controller through\nthe removal of options that can be realized differently and are hardly ever used.\nThis refactoring also removes the parameter strict that\nwas used in the output limiter. The new implementation enforces a strict check by default.
    \nThis is for\nissue 1878.\n
  • \n
  • \nMarch 9, 2020, by Michael Wetter:
    \nCorrected unit declaration for gain k.
    \nSee issue 1821.\n
  • \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nFebruary 25, 2020, by Michael Wetter:
    \nChanged icon to display the output value.\n
  • \n
  • \nOctober 19, 2019, by Michael Wetter:
    \nDisabled homotopy to ensure bounded outputs\nby copying the implementation from MSL 3.2.3 and by\nhardcoding the implementation for homotopyType=NoHomotopy.
    \nSee issue 1221.\n
  • \n
  • \nNovember 13, 2017, by Michael Wetter:
    \nChanged default controller type from PID to PI.\n
  • \n
  • \nNovember 6, 2017, by Michael Wetter:
    \nExplicitly declared types and used integrator with reset from CDL.\n
  • \n
  • \nOctober 22, 2017, by Michael Wetter:
    \nAdded to CDL to have a PI controller with integrator reset.\n
  • \n
  • \nSeptember 29, 2016, by Michael Wetter:
    \nRefactored model.\n
  • \n
  • \nAugust 25, 2016, by Michael Wetter:
    \nRemoved parameter limitsAtInit because it was only propagated to\nthe instance limiter, but this block no longer makes use of this parameter.\nThis is a non-backward compatible change.
    \nRevised implemenentation, added comments, made some parameter in the instances final.\n
  • \n
  • July 18, 2016, by Philipp Mehrfeld:
    \nAdded integrator reset.\nThis is for issue 494.\n
  • \n
  • \nMarch 15, 2016, by Michael Wetter:
    \nChanged the default value to strict=true in order to avoid events\nwhen the controller saturates.\nThis is for issue 433.\n
  • \n
  • \nFebruary 24, 2010, by Michael Wetter:
    \nFirst implementation.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/PID.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PID.mo", + "checksum": "2aa3083815bf02466044ec307fdd83e8" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.json new file mode 100644 index 00000000..3bcc3b9c --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.json @@ -0,0 +1,5391 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Reals", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "PIDWithReset", + "description_string": "P, PI, PD, and PID controller with output reset", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Buildings.Controls.OBC.CDL.Types.SimpleController", + "component_list": [ + { + "declaration": { + "identifier": "controllerType", + "modification": { + "equal": true, + "expression": { + "simple_expression": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" + } + } + }, + "description": { + "description_string": "Type of controller" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "k", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "100*Constants.eps" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Gain of controller", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Control gains\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "Ti", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Time\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"s\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "100*Constants.eps" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "0.5" + } + } + }, + "description": { + "description_string": "Time constant of integrator block", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Control gains\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PI" + } + ], + "relation_operator": "==" + } + ] + }, + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PID" + } + ], + "relation_operator": "==" + } + ] + } + ] + } + } + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "Td", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Time\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"s\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "100*Constants.eps" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "0.1" + } + } + }, + "description": { + "description_string": "Time constant of derivative block", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Control gains\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PD" + } + ], + "relation_operator": "==" + } + ] + }, + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PID" + } + ], + "relation_operator": "==" + } + ] + } + ] + } + } + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "r", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "100*Constants.eps" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Typical range of control error, used for scaling the control error" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "yMax", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Upper limit of output", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Limits\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "yMin", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + }, + "description": { + "description_string": "Lower limit of output", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Limits\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "Ni", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "100*Constants.eps" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "0.9" + } + } + }, + "description": { + "description_string": "Ni*Ti is time constant of anti-windup compensation", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Integrator anti-windup\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PI" + } + ], + "relation_operator": "==" + } + ] + }, + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PID" + } + ], + "relation_operator": "==" + } + ] + } + ] + } + } + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "Nd", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "100*Constants.eps" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "10" + } + } + }, + "description": { + "description_string": "The higher Nd, the more ideal the derivative block", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Derivative block\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PD" + } + ], + "relation_operator": "==" + } + ] + }, + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PID" + } + ], + "relation_operator": "==" + } + ] + } + ] + } + } + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "xi_start", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + }, + "description": { + "description_string": "Initial value of integrator state", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initialization\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PI" + } + ], + "relation_operator": "==" + } + ] + }, + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PID" + } + ], + "relation_operator": "==" + } + ] + } + ] + } + } + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "yd_start", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + }, + "description": { + "description_string": "Initial value of derivative output", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initialization\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PD" + } + ], + "relation_operator": "==" + } + ] + }, + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PID" + } + ], + "relation_operator": "==" + } + ] + } + ] + } + } + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "reverseActing", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + }, + "description": { + "description_string": "Set to true for reverse acting, or false for direct acting control action" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "y_reset", + "modification": { + "equal": true, + "expression": { + "simple_expression": "xi_start" + } + } + }, + "description": { + "description_string": "Value to which the controller output is reset if the boolean trigger has a rising edge", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PI" + } + ], + "relation_operator": "==" + } + ] + }, + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "CDL.Types.SimpleController.PID" + } + ], + "relation_operator": "==" + } + ] + } + ] + } + } + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Integrator reset\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u_s" + }, + "description": { + "description_string": "Connector of setpoint input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -260, + "y": -20 + }, + { + "x": -220, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u_m" + }, + "description": { + "description_string": "Connector of measurement input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "origin": { + "x": 0, + "y": -220 + }, + "extent": [ + { + "x": 20, + "y": -20 + }, + { + "x": -20, + "y": 20 + } + ], + "rotation": 270 + }, + "iconTransformation": { + "origin": { + "x": 0, + "y": -120 + }, + "extent": [ + { + "x": 20, + "y": -20 + }, + { + "x": -20, + "y": 20 + } + ], + "rotation": 270 + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Connector of actuator output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 220, + "y": -20 + }, + { + "x": 260, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", + "component_list": [ + { + "declaration": { + "identifier": "trigger" + }, + "description": { + "description_string": "Resets the controller output when trigger becomes true", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "origin": { + "x": -160, + "y": -220 + }, + "extent": [ + { + "x": -20, + "y": -20 + }, + { + "x": 20, + "y": 20 + } + ], + "rotation": 90 + }, + "iconTransformation": { + "origin": { + "x": -60, + "y": -120 + }, + "extent": [ + { + "x": -20, + "y": -20 + }, + { + "x": 20, + "y": 20 + } + ], + "rotation": 90 + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", + "component_list": [ + { + "declaration": { + "identifier": "controlError" + }, + "description": { + "description_string": "Control error (set point - measurement)", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -200, + "y": -16 + }, + { + "x": -180, + "y": 4 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "component_list": [ + { + "declaration": { + "identifier": "P", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Proportional action", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -50, + "y": 130 + }, + { + "x": -30, + "y": 150 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.IntegratorWithReset", + "component_list": [ + { + "declaration": { + "identifier": "I", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k/Ti" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "y_start", + "modification": { + "equal": true, + "expression": { + "simple_expression": "xi_start" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_I" + } + }, + "description": { + "description_string": "Integral term", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -50, + "y": -10 + }, + { + "x": -30, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Derivative", + "component_list": [ + { + "declaration": { + "identifier": "D", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "y_start", + "modification": { + "equal": true, + "expression": { + "simple_expression": "yd_start" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_D" + } + }, + "description": { + "description_string": "Derivative term", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -50, + "y": 60 + }, + { + "x": -30, + "y": 80 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", + "component_list": [ + { + "declaration": { + "identifier": "errP" + }, + "description": { + "description_string": "P error", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 130 + }, + { + "x": -120, + "y": 150 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", + "component_list": [ + { + "declaration": { + "identifier": "errD" + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_D" + } + }, + "description": { + "description_string": "D error", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 60 + }, + { + "x": -120, + "y": 80 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", + "component_list": [ + { + "declaration": { + "identifier": "errI1" + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_I" + } + }, + "description": { + "description_string": "I error (before anti-windup compensation)", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -4 + }, + { + "x": -120, + "y": 16 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", + "component_list": [ + { + "declaration": { + "identifier": "errI2" + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_I" + } + }, + "description": { + "description_string": "I error (after anti-windup compensation)", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -100, + "y": -10 + }, + { + "x": -80, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Limiter", + "component_list": [ + { + "declaration": { + "identifier": "lim", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "uMax", + "modification": { + "equal": true, + "expression": { + "simple_expression": "yMax" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "uMin", + "modification": { + "equal": true, + "expression": { + "simple_expression": "yMin" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Limiter", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 120, + "y": 80 + }, + { + "x": 140, + "y": 100 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "protected_element_list": [ + { + "final": true, + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "revAct", + "modification": { + "equal": true, + "expression": { + "if_expression": { + "if_elseif": [ + { + "condition": { + "simple_expression": "reverseActing" + }, + "then": { + "simple_expression": "1" + } + } + ], + "else_expression": { + "simple_expression": "-1" + } + } + } + } + }, + "description": { + "description_string": "Switch for sign for reverse or direct acting controller" + } + } + ] + } + }, + { + "final": true, + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "with_I", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" + } + ], + "relation_operator": "==" + } + ] + }, + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PID" + } + ], + "relation_operator": "==" + } + ] + } + ] + } + } + } + } + }, + "description": { + "description_string": "Boolean flag to enable integral action", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Evaluate", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "HideResult", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + ] + } + }, + { + "final": true, + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "with_D", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PD" + } + ], + "relation_operator": "==" + } + ] + }, + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "controllerType" + }, + { + "name": "Buildings.Controls.OBC.CDL.Types.SimpleController.PID" + } + ], + "relation_operator": "==" + } + ] + } + ] + } + } + } + } + }, + "description": { + "description_string": "Boolean flag to enable derivative action", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Evaluate", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "HideResult", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Sources.Constant", + "component_list": [ + { + "declaration": { + "identifier": "kDer", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k*Td" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_D" + } + }, + "description": { + "description_string": "Gain for derivative block", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -100, + "y": 110 + }, + { + "x": -80, + "y": 130 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Sources.Constant", + "component_list": [ + { + "declaration": { + "identifier": "TDer", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "Td/Nd" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_D" + } + }, + "description": { + "description_string": "Time constant for approximation in derivative block", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -100, + "y": 80 + }, + { + "x": -80, + "y": 100 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", + "component_list": [ + { + "declaration": { + "identifier": "Dzero", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "not with_D" + } + }, + "description": { + "description_string": "Zero input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Evaluate", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "HideResult", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -50, + "y": 90 + }, + { + "x": -30, + "y": 110 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", + "component_list": [ + { + "declaration": { + "identifier": "Izero", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "not with_I" + } + }, + "description": { + "description_string": "Zero input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -50, + "y": 20 + }, + { + "x": -30, + "y": 40 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "component_list": [ + { + "declaration": { + "identifier": "uS_revAct", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "revAct/r" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Set point multiplied by reverse action sign", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -200, + "y": 30 + }, + { + "x": -180, + "y": 50 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "component_list": [ + { + "declaration": { + "identifier": "uMea_revAct", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "revAct/r" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Set point multiplied by reverse action sign", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -200, + "y": -50 + }, + { + "x": -180, + "y": -30 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", + "component_list": [ + { + "declaration": { + "identifier": "addPD" + }, + "description": { + "description_string": "Outputs P and D gains added", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 20, + "y": 124 + }, + { + "x": 40, + "y": 144 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", + "component_list": [ + { + "declaration": { + "identifier": "addPID" + }, + "description": { + "description_string": "Outputs P, I and D gains added", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 80, + "y": 80 + }, + { + "x": 100, + "y": 100 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", + "component_list": [ + { + "declaration": { + "identifier": "antWinErr" + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_I" + } + }, + "description": { + "description_string": "Error for anti-windup compensation", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 160, + "y": 50 + }, + { + "x": 180, + "y": 70 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "component_list": [ + { + "declaration": { + "identifier": "antWinGai", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1/(k*Ni)" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_I" + } + }, + "description": { + "description_string": "Gain for anti-windup compensation", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 180, + "y": -30 + }, + { + "x": 160, + "y": -10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", + "component_list": [ + { + "declaration": { + "identifier": "yResSig", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "y_reset" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_I" + } + }, + "description": { + "description_string": "Signal for y_reset", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -84 + }, + { + "x": -120, + "y": -64 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", + "component_list": [ + { + "declaration": { + "identifier": "addRes" + }, + "condition_attribute": { + "expression": { + "simple_expression": "with_I" + } + }, + "description": { + "description_string": "Adder for integrator reset", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -100, + "y": -90 + }, + { + "x": -80, + "y": -70 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Sources.Constant", + "component_list": [ + { + "declaration": { + "identifier": "cheYMinMax", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": { + "logical_expression": { + "logical_or": [ + { + "logical_and": [ + { + "arithmetic_expressions": [ + { + "name": "yMin" + }, + { + "name": "yMax" + } + ], + "relation_operator": "<" + } + ] + } + ] + } + } + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Check for values of yMin and yMax", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 120, + "y": -160 + }, + { + "x": 140, + "y": -140 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Utilities.Assert", + "component_list": [ + { + "declaration": { + "identifier": "assMesYMinMax", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "message", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"LimPID: Limits must be yMin < yMax\"" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Assertion on yMin and yMax", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 160, + "y": -160 + }, + { + "x": 180, + "y": -140 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ] + }, + { + "equation_section": { + "equation": [ + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "trigger" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "I" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "trigger" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -160, + "y": -220 + }, + { + "x": -160, + "y": -140 + }, + { + "x": -40, + "y": -140 + }, + { + "x": -40, + "y": -12 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u_s" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "uS_revAct" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -240, + "y": 0 + }, + { + "x": -210, + "y": 0 + }, + { + "x": -210, + "y": 40 + }, + { + "x": -202, + "y": 40 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u_m" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "uMea_revAct" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 0, + "y": -220 + }, + { + "x": 0, + "y": -160 + }, + { + "x": -210, + "y": -160 + }, + { + "x": -210, + "y": -40 + }, + { + "x": -202, + "y": -40 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "errD" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "uMea_revAct" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -142, + "y": 64 + }, + { + "x": -150, + "y": 64 + }, + { + "x": -150, + "y": -40 + }, + { + "x": -178, + "y": -40 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "D" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "errD" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -52, + "y": 70 + }, + { + "x": -118, + "y": 70 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "errI1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "uS_revAct" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -142, + "y": 12 + }, + { + "x": -170, + "y": 12 + }, + { + "x": -170, + "y": 40 + }, + { + "x": -178, + "y": 40 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "addPID" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "addPD" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 78, + "y": 96 + }, + { + "x": 50, + "y": 96 + }, + { + "x": 50, + "y": 134 + }, + { + "x": 42, + "y": 134 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "lim" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 142, + "y": 90 + }, + { + "x": 200, + "y": 90 + }, + { + "x": 200, + "y": 0 + }, + { + "x": 240, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "antWinErr" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "antWinGai" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 182, + "y": 60 + }, + { + "x": 190, + "y": 60 + }, + { + "x": 190, + "y": -20 + }, + { + "x": 182, + "y": -20 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "addPD" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "Dzero" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 18, + "y": 128 + }, + { + "x": -10, + "y": 128 + }, + { + "x": -10, + "y": 100 + }, + { + "x": -28, + "y": 100 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "D" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "addPD" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -28, + "y": 70 + }, + { + "x": -10, + "y": 70 + }, + { + "x": -10, + "y": 128 + }, + { + "x": 18, + "y": 128 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "addPID" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "I" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 78, + "y": 84 + }, + { + "x": 60, + "y": 84 + }, + { + "x": 60, + "y": 0 + }, + { + "x": -28, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "addRes" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "I" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y_reset_in" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -78, + "y": -80 + }, + { + "x": -60, + "y": -80 + }, + { + "x": -60, + "y": -8 + }, + { + "x": -52, + "y": -8 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "antWinErr" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "lim" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 158, + "y": 54 + }, + { + "x": 150, + "y": 54 + }, + { + "x": 150, + "y": 90 + }, + { + "x": 142, + "y": 90 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "I" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "errI2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -52, + "y": 0 + }, + { + "x": -78, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "errI1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "errI2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -118, + "y": 6 + }, + { + "x": -102, + "y": 6 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "controlError" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "u_s" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -202, + "y": 0 + }, + { + "x": -240, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "cheYMinMax" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "assMesYMinMax" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 142, + "y": -150 + }, + { + "x": 158, + "y": -150 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "Izero" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "addPID" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -28, + "y": 30 + }, + { + "x": 60, + "y": 30 + }, + { + "x": 60, + "y": 84 + }, + { + "x": 78, + "y": 84 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "errP" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "uS_revAct" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -142, + "y": 146 + }, + { + "x": -170, + "y": 146 + }, + { + "x": -170, + "y": 40 + }, + { + "x": -178, + "y": 40 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "errD" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "uS_revAct" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -142, + "y": 76 + }, + { + "x": -170, + "y": 76 + }, + { + "x": -170, + "y": 40 + }, + { + "x": -178, + "y": 40 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "addPD" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "P" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 18, + "y": 140 + }, + { + "x": -28, + "y": 140 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "P" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "errP" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -52, + "y": 140 + }, + { + "x": -118, + "y": 140 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "addPID" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "lim" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 102, + "y": 90 + }, + { + "x": 118, + "y": 90 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "addPID" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "antWinErr" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 102, + "y": 90 + }, + { + "x": 114, + "y": 90 + }, + { + "x": 114, + "y": 66 + }, + { + "x": 158, + "y": 66 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "addRes" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "yResSig" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -102, + "y": -74 + }, + { + "x": -118, + "y": -74 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u_m" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "controlError" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 0, + "y": -220 + }, + { + "x": 0, + "y": -160 + }, + { + "x": -210, + "y": -160 + }, + { + "x": -210, + "y": -12 + }, + { + "x": -202, + "y": -12 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "uMea_revAct" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "errP" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -178, + "y": -40 + }, + { + "x": -150, + "y": -40 + }, + { + "x": -150, + "y": 134 + }, + { + "x": -142, + "y": 134 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "uMea_revAct" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "errI1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -178, + "y": -40 + }, + { + "x": -150, + "y": -40 + }, + { + "x": -150, + "y": 0 + }, + { + "x": -142, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "antWinGai" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "errI2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 158, + "y": -20 + }, + { + "x": -110, + "y": -20 + }, + { + "x": -110, + "y": -6 + }, + { + "x": -102, + "y": -6 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "addPD" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "addRes" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 42, + "y": 134 + }, + { + "x": 50, + "y": 134 + }, + { + "x": 50, + "y": -100 + }, + { + "x": -110, + "y": -100 + }, + { + "x": -110, + "y": -86 + }, + { + "x": -102, + "y": -86 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "kDer" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "D" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "k" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -78, + "y": 120 + }, + { + "x": -58, + "y": 120 + }, + { + "x": -58, + "y": 78 + }, + { + "x": -52, + "y": 78 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "TDer" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "D" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "T" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -78, + "y": 90 + }, + { + "x": -60, + "y": 90 + }, + { + "x": -60, + "y": 74 + }, + { + "x": -52, + "y": 74 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"conPID\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -6, + "y": -20 + }, + { + "x": 66, + "y": -66 + } + ], + "lineColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -32, + "y": -22 + }, + { + "x": 68, + "y": -62 + } + ], + "textString": "\"P\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "visible": "([object Object])", + "fillColor": { + "r": 175, + "g": 175, + "b": 175 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -26, + "y": -22 + }, + { + "x": 74, + "y": -62 + } + ], + "textString": "\"PI\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "visible": "([object Object])", + "fillColor": { + "r": 175, + "g": 175, + "b": 175 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -16, + "y": -22 + }, + { + "x": 88, + "y": -62 + } + ], + "textString": "\"P D\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "visible": "([object Object])", + "fillColor": { + "r": 175, + "g": 175, + "b": 175 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -14, + "y": -22 + }, + { + "x": 86, + "y": -62 + } + ], + "textString": "\"PID\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "visible": "([object Object])", + "fillColor": { + "r": 175, + "g": 175, + "b": 175 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": -80, + "y": 82 + }, + { + "x": -88, + "y": 60 + }, + { + "x": -72, + "y": 60 + }, + { + "x": -80, + "y": 82 + } + ], + "lineColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": 68 + }, + { + "x": -80, + "y": -100 + } + ], + "color": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -90, + "y": -80 + }, + { + "x": 70, + "y": -80 + } + ], + "color": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 74, + "y": -80 + }, + { + "x": 52, + "y": -72 + }, + { + "x": 52, + "y": -88 + }, + { + "x": 74, + "y": -80 + } + ], + "lineColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": -80 + }, + { + "x": -80, + "y": -22 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": -22 + }, + { + "x": 6, + "y": 56 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": 6, + "y": 56 + }, + { + "x": 68, + "y": 56 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": 100, + "y": -100 + }, + { + "x": 84, + "y": -100 + }, + { + "x": null, + "y": null + }, + { + "x": 100, + "y": -100 + }, + { + "x": 84, + "y": null + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "fillColor": { + "r": 175, + "g": 175, + "b": 175 + }, + "pattern": "LinePattern.None", + "fillPattern": "FillPattern.Solid" + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -220, + "y": -200 + }, + { + "x": 220, + "y": 200 + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -56, + "y": 180 + }, + { + "x": -24, + "y": -16 + } + ], + "fillColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "pattern": "LinePattern.None", + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -52, + "y": 184 + }, + { + "x": -28, + "y": 156 + } + ], + "textString": "\"PID\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "fillColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "pattern": "LinePattern.None", + "fillPattern": "FillPattern.Solid" + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nPID controller in the standard form\n

\n

\nyu = k/r   (e(t) + 1 ⁄ Ti   ∫ e(τ) dτ + Td d⁄dt e(t)),\n

\n

\nwith output reset,\nwhere\nyu is the control signal before output limitation,\ne(t) = us(t) - um(t) is the control error,\nwith us being the set point and um being\nthe measured quantity,\nk is the gain,\nTi is the time constant of the integral term,\nTd is the time constant of the derivative term,\nand\nr is a scaling factor, with default r=1.\nThe scaling factor should be set to the typical order of magnitude of the range of the error e.\nFor example, you may set r=100 to r=1000\nif the control input is a pressure of a heating water circulation pump in units of Pascal, or\nleave r=1 if the control input is a room temperature.\n

\n

\nNote that the units of k are the inverse of the units of the control error,\nwhile the units of Ti and Td are seconds.\n

\n

\nThe actual control output is\n

\n

\ny = min( ymax, max( ymin, y)),\n

\n

\nwhere ymin and ymax are limits for the control signal.\n

\n

P, PI, PD, or PID action

\n

\nThrough the parameter controllerType, the controller can be configured\nas P, PI, PD or PID controller. The default configuration is PI.\n

\n

Reverse or direct action

\n

\nThrough the parameter reverseActing, the controller can be configured to\nbe reverse or direct acting.\nThe above standard form is reverse acting, which is the default configuration.\nFor a reverse acting controller, for a constant set point,\nan increase in measurement signal u_m decreases the control output signal y\n(Montgomery and McDowall, 2008).\nThus,\n

\n
    \n
  • \n for a heating coil with a two-way valve, leave reverseActing = true, but\n
  • \n
  • \n for a cooling coil with a two-way valve, set reverseActing = false.\n
  • \n
\n

\nIf reverseAction=false, then the error e above is multiplied by -1.\n

\n

Anti-windup compensation

\n

\nThe controller anti-windup compensation is as follows:\nInstead of the above basic control law, the implementation is\n

\n

\nyu = k   (e(t) ⁄ r + 1 ⁄ Ti   ∫ (-Δy + e(τ) ⁄ r) dτ + Td ⁄ r d⁄dt e(t)),\n

\n

\nwhere the anti-windup compensation Δy is\n

\n

\nΔy = (yu - y) ⁄ (k Ni),\n

\n

\nwhere\nNi > 0 is the time constant for the anti-windup compensation.\nTo accelerate the anti-windup, decrease Ni.\n

\n

\nNote that the anti-windup term (-Δy + e(τ) ⁄ r) shows that the range of\nthe typical control error r should be set to a reasonable value so that\n

\n

\ne(τ) ⁄ r = (us(τ) - um(τ)) ⁄ r\n

\n

\nhas order of magnitude one, and hence the anti-windup compensation should work well.\n

\n

Reset of the controller output

\n

\nWhenever the value of boolean input signal trigger changes from\nfalse to true, the controller output is reset by setting\ny to the value of the parameter y_reset.\n

\n

Approximation of the derivative term

\n

\nThe derivative of the control error d ⁄ dt e(t) is approximated using\n

\n

\nd⁄dt x(t) = (e(t)-x(t)) Nd ⁄ Td,\n

\n

\nand\n

\n

\nd⁄dt e(t) ≈ Nd (e(t)-x(t)),\n

\n

\nwhere x(t) is an internal state.\n

\n

Guidance for tuning the control gains

\n

\nThe parameters of the controller can be manually adjusted by performing\nclosed loop tests (= controller + plant connected\ntogether) and using the following strategy:\n

\n
    \n
  1. Set very large limits, e.g., set ymax = 1000.\n
  2. \n
  3. \nSelect a P-controller and manually enlarge the parameter k\n(the total gain of the controller) until the closed-loop response\ncannot be improved any more.\n
  4. \n
  5. \nSelect a PI-controller and manually adjust the parameters\nk and Ti (the time constant of the integrator).\nThe first value of Ti can be selected such that it is in the\norder of the time constant of the oscillations occurring with\nthe P-controller. If, e.g., oscillations in the order of 100 seconds\noccur in the previous step, start with Ti=1/100 seconds.\n
  6. \n
  7. \nIf you want to make the reaction of the control loop faster\n(but probably less robust against disturbances and measurement noise)\nselect a PID-controller and manually adjust parameters\nk, Ti, Td (time constant of derivative block).\n
  8. \n
  9. \nSet the limits yMax and yMin according to your specification.\n
  10. \n
  11. \nPerform simulations such that the output of the PID controller\ngoes in its limits. Tune Ni (Ni Ti is the time constant of\nthe anti-windup compensation) such that the input to the limiter\nblock (= lim.u) goes quickly enough back to its limits.\nIf Ni is decreased, this happens faster. If Ni is very large, the\nanti-windup compensation is not effective and the controller works bad.\n
  12. \n
\n

References

\n

\nR. Montgomery and R. McDowall (2008).\n\\\"Fundamentals of HVAC Control Systems.\\\"\nAmerican Society of Heating Refrigerating and Air-Conditioning Engineers Inc. Atlanta, GA.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nMay 20, 2022, by Michael Wetter:
    \nRefactored implementation to use new derivative block from CDL package.
    \nThis is for\nissue 3022.\n
  • \n
  • \nMay 6, 2022, by Michael Wetter:
    \nCorrected wrong documentation in how the derivative of the control error is approximated.
    \nThis is for\nissue 2994.\n
  • \n
  • \nApril 30, 2021, by Michael Wetter:
    \nCorrected error in non-released development version\nwhen reset trigger is true.
    \nRefactored implementation to have separate blocks that show the P, I and D contribution,\neach with the control gain applied.
    \nThis is for\nissue 2475.\n
  • \n
  • \nNovember 12, 2020, by Michael Wetter:
    \nReformulated to remove dependency to Modelica.Units.SI.
    \nThis is for\nissue 2243.\n
  • \n
  • \nOctober 15, 2020, by Michael Wetter:
    \nAdded scaling factor r, removed set point weights wp and wd.\nRevised documentation.
    \nThis is for issue 2182.\n
  • \n
  • \nAugust 4, 2020, by Jianjun Hu:
    \nRemoved the input y_reset_in.\nRefactored to internally implement the derivative block.
    \nThis is for issue 2056.\n
  • \n
  • \nJune 1, 2020, by Michael Wetter:
    \nCorrected wrong convention of reverse and direct action.
    \nThis is for issue 1365.\n
  • \n
  • \nApril 23, 2020, by Michael Wetter:
    \nChanged default parameters for limits yMax from unspecified to 1\nand yMin from -yMax to 0.
    \nThis is for\nissue 1888.\n
  • \n
  • \nApril 7, 2020, by Michael Wetter:
    \nReimplemented block using only CDL constructs.\nThis refactoring removes the no longer use parameters xd_start that was\nused to initialize the state of the derivative term. This state is now initialized\nbased on the requested initial output yd_start which is a new parameter\nwith a default of 0.\nAlso, removed the parameters y_start and initType because\nthe initial output of the controller can be set by using xi_start\nand yd_start.\nThis is a non-backward compatible change, made to simplify the controller through\nthe removal of options that can be realized differently and are hardly ever used.\nThis refactoring also removes the parameter strict that\nwas used in the output limiter. The new implementation enforces a strict check by default.
    \nThis is for\nissue 1878.\n
  • \n
  • \nMarch 9, 2020, by Michael Wetter:
    \nCorrected unit declaration for gain k.
    \nSee issue 1821.\n
  • \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nFebruary 25, 2020, by Michael Wetter:
    \nChanged icon to display the output value.\n
  • \n
  • \nOctober 19, 2019, by Michael Wetter:
    \nDisabled homotopy to ensure bounded outputs\nby copying the implementation from MSL 3.2.3 and by\nhardcoding the implementation for homotopyType=NoHomotopy.
    \nSee issue 1221.\n
  • \n
  • \nNovember 13, 2017, by Michael Wetter:
    \nChanged default controller type from PID to PI.\n
  • \n
  • \nNovember 6, 2017, by Michael Wetter:
    \nExplicitly declared types and used integrator with reset from CDL.\n
  • \n
  • \nOctober 22, 2017, by Michael Wetter:
    \nAdded to CDL to have a PI controller with integrator reset.\n
  • \n
  • \nSeptember 29, 2016, by Michael Wetter:
    \nRefactored model.\n
  • \n
  • \nAugust 25, 2016, by Michael Wetter:
    \nRemoved parameter limitsAtInit because it was only propagated to\nthe instance limiter, but this block no longer makes use of this parameter.\nThis is a non-backward compatible change.
    \nRevised implemenentation, added comments, made some parameter in the instances final.\n
  • \n
  • July 18, 2016, by Philipp Mehrfeld:
    \nAdded integrator reset.\nThis is for issue 494.\n
  • \n
  • \nMarch 15, 2016, by Michael Wetter:
    \nChanged the default value to strict=true in order to avoid events\nwhen the controller saturates.\nThis is for issue 433.\n
  • \n
  • \nFebruary 24, 2010, by Michael Wetter:
    \nFirst implementation.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/PIDWithReset.mo", + "checksum": "40f9c903ceb35cd84af41063340a4076" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.json new file mode 100644 index 00000000..cad1f366 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.json @@ -0,0 +1,392 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Reals.Sources", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Constant", + "description_string": "Output constant signal of type Real", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "k" + }, + "description": { + "description_string": "Constant output value" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Connector of Real output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": "k" + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"con\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 110 + }, + { + "x": 150, + "y": 150 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": 68 + }, + { + "x": -80, + "y": -80 + } + ], + "color": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": -80, + "y": 90 + }, + { + "x": -88, + "y": 68 + }, + { + "x": -72, + "y": 68 + }, + { + "x": -80, + "y": 90 + } + ], + "lineColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -90, + "y": -70 + }, + { + "x": 82, + "y": -70 + } + ], + "color": { + "r": 192, + "g": 192, + "b": 192 + } + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 90, + "y": -70 + }, + { + "x": 68, + "y": -62 + }, + { + "x": 68, + "y": -78 + }, + { + "x": 90, + "y": -70 + } + ], + "lineColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillColor": { + "r": 192, + "g": 192, + "b": 192 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": 0 + }, + { + "x": 80, + "y": 0 + } + ] + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": -150 + }, + { + "x": 150, + "y": -110 + } + ], + "textString": ",textString=", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 226, + "y": 60 + }, + { + "x": 106, + "y": 10 + } + ], + "textString": "DynamicSelect(\"\",String(y", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs a constant signal y = k,\nwhere k is a real-valued parameter.\n

\n

\n\\\"Constant.png\\\"\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nMarch 16, 2017, by Jianjun Hu:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Sources/Constant.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.mo", + "checksum": "963f004099515bac4aafd5caef5d06e9" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Subtract.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Subtract.json new file mode 100644 index 00000000..6b6e823b --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Subtract.json @@ -0,0 +1,421 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Reals", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Subtract", + "description_string": "Output the difference of the two inputs", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u1" + }, + "description": { + "description_string": "Connector of Real input signal 1", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u2" + }, + "description": { + "description_string": "Connector of Real input signal 2", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Connector of Real output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": "u1 -u2" + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"sub\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs y as the difference of the\ntwo input signals u1 and u2,\n

\n
\n    y = u1 - u2\n
\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nJanuary 28, 2022, by Jianjun Hu:
    \nFirst implementation.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": -50, + "y": -50 + }, + { + "x": 50, + "y": 50 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -100, + "y": 60 + }, + { + "x": -74, + "y": 24 + }, + { + "x": -44, + "y": 24 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -100, + "y": -60 + }, + { + "x": -74, + "y": -28 + }, + { + "x": -42, + "y": -28 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": 50, + "y": 0 + }, + { + "x": 100, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -38, + "y": -28 + }, + { + "x": 38, + "y": 40 + } + ], + "textString": "\"-\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 226, + "y": 60 + }, + { + "x": 106, + "y": 10 + } + ], + "textString": "DynamicSelect(\"\",String(y", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + } + } + } + ] + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Subtract.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Subtract.mo", + "checksum": "704ee76cb193e3cc441ec5e59e454ee6" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Switch.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Switch.json new file mode 100644 index 00000000..0f17fd68 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Switch.json @@ -0,0 +1,562 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Reals", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Switch", + "description_string": "Switch between two Real signals", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u1" + }, + "description": { + "description_string": "Real input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 60 + }, + { + "x": -100, + "y": 100 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.BooleanInput", + "component_list": [ + { + "declaration": { + "identifier": "u2" + }, + "description": { + "description_string": "Boolean switch input signal, if true, y=u1, else y=u3", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u3" + }, + "description": { + "description_string": "Real input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -100 + }, + { + "x": -100, + "y": -60 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Real output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "assignment_equation": { + "lhs": "y", + "rhs": { + "simple_expression": { + "function_call": { + "name": "smooth", + "arguments": [ + { + "name": "0" + }, + { + "name": "if u2 then u1 else u3" + } + ] + } + } + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"swi\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs one of two real input signals based on a boolean input signal.\n

\n

\nIf the input signal u2 is true,\nthe block outputs y = u1.\nOtherwise, it outputs y = u3.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nFebruary 27, 2023, by Michael Wetter:
    \nAdded smoothOrder(0, ...) as Dymola 2023x assumes y to be\nsmooth, and simulations can then fail if it differentiated this output.\n
  • \n
  • \nJuly 17, 2020, by Jianjun Hu:
    \nChanged icon to display dynamically which input signal is being outputted.
    \nThis is for\n# 2033.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": -100 + } + ], + "borderPattern": "BorderPattern.Raised", + "fillColor": { + "r": 210, + "g": 210, + "b": 210 + }, + "fillPattern": "FillPattern.Solid", + "lineThickness": 5 + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": 12, + "y": 0 + }, + { + "x": 100, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -100, + "y": 0 + }, + { + "x": -40, + "y": 0 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -100, + "y": -80 + }, + { + "x": -40, + "y": -80 + }, + { + "x": -40, + "y": -80 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -40, + "y": 12 + }, + { + "x": -40, + "y": -12 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -100, + "y": 80 + }, + { + "x": -40, + "y": 80 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": 10, + "y": 0 + }, + { + "x": -40, + "y": 80 + }, + { + "x": null, + "y": null + }, + { + "x": 10, + "y": 0 + }, + { + "x": -40, + "y": 80 + }, + { + "x": -40, + "y": -80 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + }, + "thickness": 1 + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": 2, + "y": -8 + }, + { + "x": 18, + "y": 8 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 255 + }, + "pattern": "LinePattern.None", + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": -71, + "y": 7 + }, + { + "x": -85, + "y": -7 + } + ], + "lineColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillColor": { + "r": 235, + "g": 235, + "b": null + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -90, + "y": 80 + }, + { + "x": -46, + "y": 54 + } + ], + "textString": "\"true\"", + "textColor": { + "r": 0, + "g": 0, + "b": null + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -90, + "y": -46 + }, + { + "x": -38, + "y": -76 + } + ], + "textString": "\"false\"", + "textColor": { + "r": 0, + "g": 0, + "b": null + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Switch.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Switch.mo", + "checksum": "e1a8e8bf86041c305c355af896a29ade" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Types/SimpleController.json b/test/reference/json/Buildings/Controls/OBC/CDL/Types/SimpleController.json new file mode 100644 index 00000000..cd6d98e7 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Types/SimpleController.json @@ -0,0 +1,73 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Types", + "class_definition": [ + { + "class_prefixes": "type", + "class_specifier": { + "short_class_specifier": { + "identifier": "SimpleController", + "value": { + "description": { + "description_string": "Enumeration defining P, PI, PD, or PID simple controller type", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Evaluate", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nEnumeration to define the type of the controller.\nPossible values are:\n

\n\n\n\n\n\n\n\n\n\n\n\n\n
EnumerationDescription
P\nController with proportional term.\n
PI\nController with proportional and integral terms.\n
PD\nController with proportional and derivative term.\n
PID\nController with proportional, integral and derivative terms.\n
\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nMarch 23, 2017, by Jianjun Hu:
    \nFirst implementation.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Types/SimpleController.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Types/SimpleController.mo", + "checksum": "364ff20803d823cd1fd1233fcbb7a478" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Utilities/Assert.json b/test/reference/json/Buildings/Controls/OBC/CDL/Utilities/Assert.json new file mode 100644 index 00000000..1ecaeae0 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Utilities/Assert.json @@ -0,0 +1,339 @@ +{ + "within": "Buildings.Controls.OBC.CDL.Utilities", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Assert", + "description_string": "Print a warning message when input becomes false", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "String", + "component_list": [ + { + "declaration": { + "identifier": "message" + }, + "description": { + "description_string": "Message written when u becomes false" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Boolean input that triggers assert when it becomes false", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "function_call_equation": { + "function_name": "assert", + "function_call_args": { + "function_argument": { + "expression": { + "simple_expression": "u" + } + }, + "function_arguments": { + "function_argument": { + "expression": { + "simple_expression": "message" + } + }, + "function_arguments": { + "function_argument": { + "expression": { + "simple_expression": "AssertionLevel.warning" + } + } + } + } + } + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"assMes\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 0, + "y": 80 + }, + { + "x": -80, + "y": -60 + }, + { + "x": 80, + "y": -60 + }, + { + "x": 0, + "y": 80 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "fillColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "pattern": "LinePattern.None", + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 160 + }, + { + "x": 100, + "y": 106 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Polygon", + "attribute": { + "points": [ + { + "x": 0, + "y": 72 + }, + { + "x": -72, + "y": -56 + }, + { + "x": 72, + "y": -56 + }, + { + "x": 0, + "y": 72 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 170 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -4, + "y": 38 + }, + { + "x": 2, + "y": -24 + } + ], + "fillColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "pattern": "LinePattern.None", + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Ellipse", + "attribute": { + "extent": [ + { + "x": -6, + "y": -32 + }, + { + "x": 4, + "y": -42 + } + ], + "fillColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "pattern": "LinePattern.None", + "fillPattern": "FillPattern.Solid" + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that writes a warning if the input becomes false.\n

\n

\nTools or control systems are expected to write message together\nwith a time stamp to an output device and/or a log file.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nNovember 6, 2017, by Michael Wetter:
    \nSimplified implementation.\n
  • \n
  • \nNovember 3, 2017, by Jianjun Hu:
    \nFirst implementation.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Utilities/Assert.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Utilities/Assert.mo", + "checksum": "bcd142f74409ef17549d475796277044" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/Block1.json b/test/reference/json/test/FromModelica/Block1.json index 6892fc10..58df2da6 100644 --- a/test/reference/json/test/FromModelica/Block1.json +++ b/test/reference/json/test/FromModelica/Block1.json @@ -1 +1,17 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"Block1","description_string":"A block that instantiates nothing"}}}],"modelicaFile":"test/FromModelica/Block1.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Block1.mo","checksum":"0ac032b3cd1dc28b1ce78d31c2b74fc8"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Block1", + "description_string": "A block that instantiates nothing" + } + } + } + ], + "modelicaFile": "test/FromModelica/Block1.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Block1.mo", + "checksum": "0ac032b3cd1dc28b1ce78d31c2b74fc8" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/BlockInputOutput.json b/test/reference/json/test/FromModelica/BlockInputOutput.json index d6c117f9..13d61663 100644 --- a/test/reference/json/test/FromModelica/BlockInputOutput.json +++ b/test/reference/json/test/FromModelica/BlockInputOutput.json @@ -1 +1,107 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"BlockInputOutput","description_string":"A block with an input and an output signal","composition":{"element_list":[{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}}]}}]}}}}],"modelicaFile":"test/FromModelica/BlockInputOutput.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo","checksum":"6b3a426c9d74156de11eca45268af019"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "BlockInputOutput", + "description_string": "A block with an input and an output signal", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Input connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Output connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -10 + }, + { + "x": 120, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/BlockInputOutput.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo", + "checksum": "6b3a426c9d74156de11eca45268af019" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/BlockWithBlock1.json b/test/reference/json/test/FromModelica/BlockWithBlock1.json index 331e299f..7f64bc20 100644 --- a/test/reference/json/test/FromModelica/BlockWithBlock1.json +++ b/test/reference/json/test/FromModelica/BlockWithBlock1.json @@ -1 +1,57 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"BlockWithBlock1","description_string":"A block that instantiates another public and protected block","composition":{"element_list":[{"component_clause":{"type_specifier":"Block1","component_list":[{"declaration":{"identifier":"bloPub"},"description":{"description_string":"A public block"}}]}}],"element_sections":[{"protected_element_list":[{"component_clause":{"type_specifier":"Block1","component_list":[{"declaration":{"identifier":"bloPro"},"description":{"description_string":"A protected block"}}]}}]}]}}}}],"modelicaFile":"test/FromModelica/BlockWithBlock1.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo","checksum":"ff65a62871564710f765eb9ca9dd4b06"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "BlockWithBlock1", + "description_string": "A block that instantiates another public and protected block", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Block1", + "component_list": [ + { + "declaration": { + "identifier": "bloPub" + }, + "description": { + "description_string": "A public block" + } + } + ] + } + } + ], + "element_sections": [ + { + "protected_element_list": [ + { + "component_clause": { + "type_specifier": "Block1", + "component_list": [ + { + "declaration": { + "identifier": "bloPro" + }, + "description": { + "description_string": "A protected block" + } + } + ] + } + } + ] + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/BlockWithBlock1.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo", + "checksum": "ff65a62871564710f765eb9ca9dd4b06" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/ConditionalBlock.json b/test/reference/json/test/FromModelica/ConditionalBlock.json index 86ec4b9e..03f32bfa 100644 --- a/test/reference/json/test/FromModelica/ConditionalBlock.json +++ b/test/reference/json/test/FromModelica/ConditionalBlock.json @@ -1 +1,176 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"ConditionalBlock","description_string":"A block with a flag for disabling instances","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Boolean","component_list":[{"declaration":{"identifier":"enaBlo","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Flag for enabling instance"}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u"},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Abs","component_list":[{"declaration":{"identifier":"abs"},"condition_attribute":{"expression":{"simple_expression":"not enaBlo"}},"description":{"description_string":"Instance could be conditional disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}}]}}]}}}}],"modelicaFile":"test/FromModelica/ConditionalBlock.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo","checksum":"32f7d6be96dcaae8bc10321b60d6b3a1"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "ConditionalBlock", + "description_string": "A block with a flag for disabling instances", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "enaBlo", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + }, + "description": { + "description_string": "Flag for enabling instance" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "condition_attribute": { + "expression": { + "simple_expression": "enaBlo" + } + }, + "description": { + "description_string": "Input connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Output connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -10 + }, + { + "x": 120, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Abs", + "component_list": [ + { + "declaration": { + "identifier": "abs" + }, + "condition_attribute": { + "expression": { + "simple_expression": "not enaBlo" + } + }, + "description": { + "description_string": "Instance could be conditional disabled", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -8, + "y": -10 + }, + { + "x": 12, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/ConditionalBlock.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo", + "checksum": "32f7d6be96dcaae8bc10321b60d6b3a1" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/CustomPWithLimiter.json b/test/reference/json/test/FromModelica/CustomPWithLimiter.json index ee5b05d3..8e84dd7b 100644 --- a/test/reference/json/test/FromModelica/CustomPWithLimiter.json +++ b/test/reference/json/test/FromModelica/CustomPWithLimiter.json @@ -1 +1,511 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"CustomPWithLimiter","description_string":"Custom implementation of a P controller with variable output limiter","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}},"description":{"description_string":"Constant gain"}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"yMax"},"description":{"description_string":"Maximum value of output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"e"},"description":{"description_string":"Control error","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y"},"description":{"description_string":"Control signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","component_list":[{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Min","component_list":[{"declaration":{"identifier":"minValue"},"description":{"description_string":"Outputs the minimum of its inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-10},{"x":40,"y":10}]}}}}}]}}]}}],"element_sections":[{"equation_section":{"equation":[{"connect_clause":{"from":[{"dot_op":false,"identifier":"yMax"}],"to":[{"dot_op":false,"identifier":"minValue"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":40},{"x":-120,"y":40},{"x":-20,"y":40},{"x":-20,"y":6},{"x":18,"y":6}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"e"}],"to":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-92,"y":-40},{"x":-62,"y":-40}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"minValue"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-39,"y":-40},{"x":-20,"y":-40},{"x":-20,"y":-6},{"x":18,"y":-6}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"minValue"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"y"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":41,"y":0},{"x":110,"y":0}],"color":{"r":0,"g":0,"b":127}}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nBlock that outputs y = min(yMax, k*e),\nwhere\nyMax and e are real-valued input signals and\nk is a parameter.\n

\n\""}}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/CustomPWithLimiter.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo","checksum":"9fb76ee9cb8fc49c7ebdcadedf8d0fa7"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "CustomPWithLimiter", + "description_string": "Custom implementation of a P controller with variable output limiter", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "2" + } + } + }, + "description": { + "description_string": "Constant gain" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "yMax" + }, + "description": { + "description_string": "Maximum value of output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "e" + }, + "description": { + "description_string": "Control error", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -60 + }, + { + "x": -100, + "y": -20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Control signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -10 + }, + { + "x": 120, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "component_list": [ + { + "declaration": { + "identifier": "gain", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Constant gain", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": -50 + }, + { + "x": -40, + "y": -30 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Min", + "component_list": [ + { + "declaration": { + "identifier": "minValue" + }, + "description": { + "description_string": "Outputs the minimum of its inputs", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 20, + "y": -10 + }, + { + "x": 40, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "yMax" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "minValue" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": 40 + }, + { + "x": -120, + "y": 40 + }, + { + "x": -20, + "y": 40 + }, + { + "x": -20, + "y": 6 + }, + { + "x": 18, + "y": 6 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "e" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "gain" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": -40 + }, + { + "x": -92, + "y": -40 + }, + { + "x": -62, + "y": -40 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "gain" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "minValue" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -39, + "y": -40 + }, + { + "x": -20, + "y": -40 + }, + { + "x": -20, + "y": -6 + }, + { + "x": 18, + "y": -6 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "minValue" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 41, + "y": 0 + }, + { + "x": 110, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs y = min(yMax, k*e),\nwhere\nyMax and e are real-valued input signals and\nk is a parameter.\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/CustomPWithLimiter.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo", + "checksum": "9fb76ee9cb8fc49c7ebdcadedf8d0fa7" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/DynamicTextColor.json b/test/reference/json/test/FromModelica/DynamicTextColor.json index d7dd397c..4d7c55f2 100644 --- a/test/reference/json/test/FromModelica/DynamicTextColor.json +++ b/test/reference/json/test/FromModelica/DynamicTextColor.json @@ -1 +1,176 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"DynamicTextColor","description_string":"Some class comment","composition":{"element_list":[{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.Boolean","component_list":[{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"preserveAspectRatio":"true"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Text","attribute":{"extent":[{"x":-90,"y":80},{"x":-46,"y":54}],"textString":"\"true\"","lineColor":{"r":0,"g":0,"b":null}}},{"name":"Text","attribute":{"extent":[{"x":-150,"y":150},{"x":150,"y":110}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/DynamicTextColor.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo","checksum":"2b2ee39f32acc385c42dd85bb20449ef"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "DynamicTextColor", + "description_string": "Some class comment", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.Boolean", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Input connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis is the info section.\n

\n\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -90, + "y": 80 + }, + { + "x": -46, + "y": 54 + } + ], + "textString": "\"true\"", + "lineColor": { + "r": 0, + "g": 0, + "b": null + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "lineColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/DynamicTextColor.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo", + "checksum": "2b2ee39f32acc385c42dd85bb20449ef" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/EmptyEquation.json b/test/reference/json/test/FromModelica/EmptyEquation.json index 3b303a31..653a2da6 100644 --- a/test/reference/json/test/FromModelica/EmptyEquation.json +++ b/test/reference/json/test/FromModelica/EmptyEquation.json @@ -1 +1,26 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"EmptyEquation","description_string":"A block that instantiates nothing","composition":{"element_sections":[{"equation_section":{"equation":[]}}]}}}}],"modelicaFile":"test/FromModelica/EmptyEquation.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/EmptyEquation.mo","checksum":"c59d73edc2ea3867f7a1a3dfa344844c"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "EmptyEquation", + "description_string": "A block that instantiates nothing", + "composition": { + "element_sections": [ + { + "equation_section": { + "equation": [] + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/EmptyEquation.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/EmptyEquation.mo", + "checksum": "c59d73edc2ea3867f7a1a3dfa344844c" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/Enable.json b/test/reference/json/test/FromModelica/Enable.json index bb1defb0..0dfca052 100644 --- a/test/reference/json/test/FromModelica/Enable.json +++ b/test/reference/json/test/FromModelica/Enable.json @@ -1 +1,5918 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"Enable","description_string":"Multi zone VAV AHU economizer enable/disable switch","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Boolean","component_list":[{"declaration":{"identifier":"use_enthalpy","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Set to true to evaluate outdoor air (OA) enthalpy in addition to temperature","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Conditional\""}}}}}]}}}}]}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"delTOutHis","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"TemperatureDifference\""}}}}}],"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Delta between the temperature hysteresis high and low limit","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}}]}}}}]}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"delEntHis","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}],"equal":true,"expression":{"simple_expression":"1000"}}},"description":{"description_string":"Delta between the enthalpy hysteresis high and low limits","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"use_enthalpy"}}}}}]}}}}]}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"retDamFulOpeTim","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"s\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"Time\""}}}}}],"equal":true,"expression":{"simple_expression":"180"}}},"description":{"description_string":"Time period to keep RA damper fully open before releasing it for minimum outdoor airflow control\n at disable to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}]}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"disDel","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"s\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"Time\""}}}}}],"equal":true,"expression":{"simple_expression":"15"}}},"description":{"description_string":"Short time delay before closing the OA damper at disable to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"Outdoor air temperature","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":232},{"x":-260,"y":272}]},"iconTransformation":{"extent":[{"x":-140,"y":110},{"x":-100,"y":150}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"hOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Outdoor air enthalpy","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":152},{"x":-260,"y":192}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"TOutCut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"OA temperature high limit cutoff. For differential dry bulb temperature condition use return air temperature measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":192},{"x":-260,"y":232}]},"iconTransformation":{"extent":[{"x":-140,"y":90},{"x":-100,"y":130}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"hOutCut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"OA enthalpy high limit cutoff. For differential enthalpy use return air enthalpy measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":112},{"x":-260,"y":152}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"uOutDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum outdoor air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-98},{"x":-260,"y":-58}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"uOutDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum outdoor air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-58},{"x":-260,"y":-18}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"uRetDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-178},{"x":-260,"y":-138}]},"iconTransformation":{"extent":[{"x":-140,"y":-130},{"x":-100,"y":-90}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"uRetDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-218},{"x":-260,"y":-178}]},"iconTransformation":{"extent":[{"x":-140,"y":-150},{"x":-100,"y":-110}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"uRetDamPhy_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Physical maximum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-138},{"x":-260,"y":-98}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","component_list":[{"declaration":{"identifier":"u1SupFan"},"description":{"description_string":"Supply fan proven on","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":62},{"x":-260,"y":102}]},"iconTransformation":{"extent":[{"x":-140,"y":10},{"x":-100,"y":50}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","component_list":[{"declaration":{"identifier":"uFreProSta"},"description":{"description_string":"Freeze protection stage status signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":22},{"x":-260,"y":62}]},"iconTransformation":{"extent":[{"x":-140,"y":-10},{"x":-100,"y":30}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"yOutDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum outdoor air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":22},{"x":280,"y":62}]},"iconTransformation":{"extent":[{"x":100,"y":80},{"x":140,"y":120}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"yRetDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum return air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-98},{"x":280,"y":-58}]},"iconTransformation":{"extent":[{"x":100,"y":-120},{"x":140,"y":-80}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"yRetDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum return air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-38},{"x":280,"y":2}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueFalseHold","component_list":[{"declaration":{"identifier":"truFalHol","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"trueHoldDuration","modification":{"equal":true,"expression":{"simple_expression":"600"}}}}}]}},"description":{"description_string":"Economizer should not be enabled or disabled within 10 minutes of change","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":182},{"x":40,"y":202}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","component_list":[{"declaration":{"identifier":"andEnaDis"},"description":{"description_string":"Check freeze protection stage and zone state","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":12},{"x":80,"y":32}]}}}}}]}}]}}],"element_sections":[{"protected_element_list":[{"final":true,"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"TOutHigLimCutHig","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"TemperatureDifference\""}}}}}],"equal":true,"expression":{"simple_expression":"0"}}},"description":{"description_string":"Hysteresis high limit cutoff"}}]}},{"final":true,"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"TOutHigLimCutLow","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutHig -delTOutHis"}}},"description":{"description_string":"Hysteresis low limit cutoff"}}]}},{"final":true,"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"hOutHigLimCutHig","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}],"equal":true,"expression":{"simple_expression":"0"}}},"description":{"description_string":"Hysteresis block high limit cutoff"}}]}},{"final":true,"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"hOutHigLimCutLow","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutHig -delEntHis"}}},"description":{"description_string":"Hysteresis block low limit cutoff"}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Subtract","component_list":[{"declaration":{"identifier":"sub2"},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Add block determines difference between hOut and hOutCut","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":140},{"x":-180,"y":160}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Subtract","component_list":[{"declaration":{"identifier":"sub1"},"description":{"description_string":"Add block determines difference between TOut and TOutCut","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":220},{"x":-180,"y":240}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Hysteresis","component_list":[{"declaration":{"identifier":"hysOutTem","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutLow"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutHig"}}}}}]}},"description":{"description_string":"Outdoor air temperature hysteresis for both fixed and differential dry bulb temperature cutoff conditions","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":220},{"x":-140,"y":240}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Hysteresis","component_list":[{"declaration":{"identifier":"hysOutEnt","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutLow"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutHig"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Outdoor air enthalpy hysteresis for both fixed and differential enthalpy cutoff conditions","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":140},{"x":-140,"y":160}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","component_list":[{"declaration":{"identifier":"outDamSwitch"},"description":{"description_string":"Set maximum OA damper position to minimum at disable (after a given time delay)","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":82,"y":-78},{"x":102,"y":-58}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","component_list":[{"declaration":{"identifier":"retDamSwitch"},"description":{"description_string":"Set minimum RA damper position to maximum at disable","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-176},{"x":0,"y":-156}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","component_list":[{"declaration":{"identifier":"maxRetDamSwitch"},"description":{"description_string":"Keep maximum RA damper position at physical maximum for a short time period after disable signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-136},{"x":80,"y":-116}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","component_list":[{"declaration":{"identifier":"minRetDamSwitch"},"description":{"description_string":"Keep minimum RA damper position at physical maximum for a short time period after disable","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-178},{"x":80,"y":-158}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Not","component_list":[{"declaration":{"identifier":"not2"},"description":{"description_string":"Logical not that starts the timer at disable signal ","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-58},{"x":-40,"y":-38}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","component_list":[{"declaration":{"identifier":"and2"},"description":{"description_string":"Logical and","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":160,"y":-100},{"x":180,"y":-80}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","component_list":[{"declaration":{"identifier":"and1"},"description":{"description_string":"Check supply fan status","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":80},{"x":40,"y":100}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","component_list":[{"declaration":{"identifier":"and3"},"description":{"description_string":"Check if delay time has been passed after economizer being disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":40,"y":-54},{"x":60,"y":-34}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Integers.Equal","component_list":[{"declaration":{"identifier":"intEqu"},"description":{"description_string":"Logical block to check if the freeze protection is deactivated","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-78,"y":32},{"x":-58,"y":52}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","component_list":[{"declaration":{"identifier":"delOutDamOsc","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"disDel"}}}}}]}},"description":{"description_string":"Small delay before closing the outdoor air damper to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-58},{"x":0,"y":-38}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","component_list":[{"declaration":{"identifier":"delRetDam","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"retDamFulOpeTim"}}}}}]}},"description":{"description_string":"Keep return damper open to its physical maximum for a short period of time before closing the outdoor air damper and resuming the maximum return air damper position, per G36 Part N7","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-108},{"x":0,"y":-88}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Not","component_list":[{"declaration":{"identifier":"not1"},"description":{"description_string":"Logical not","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-108},{"x":40,"y":-88}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Integers.Sources.Constant","component_list":[{"declaration":{"identifier":"conInt","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeProtectionStages.stage0"}}}}}]}},"description":{"description_string":"Integer constant, stage 0","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-118,"y":12},{"x":-98,"y":32}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","component_list":[{"declaration":{"identifier":"entSubst1","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"not use_enthalpy"}},"description":{"description_string":"Deactivates outdoor air enthalpy condition if there is no enthalpy sensor","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":180},{"x":-140,"y":200}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Or","component_list":[{"declaration":{"identifier":"or2"},"description":{"description_string":"Check if either the temperature or the enthalpy condition is satisfied","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":182},{"x":-40,"y":202}]}}}}}]}}]}}]},{"equation_section":{"equation":[{"connect_clause":{"from":[{"dot_op":false,"identifier":"TOut"}],"to":[{"dot_op":false,"identifier":"sub1"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-280,"y":252},{"x":-240,"y":252},{"x":-240,"y":236},{"x":-202,"y":236}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"TOutCut"}],"to":[{"dot_op":false,"identifier":"sub1"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-280,"y":212},{"x":-240,"y":212},{"x":-240,"y":224},{"x":-202,"y":224}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"sub1"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"hysOutTem"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-178,"y":230},{"x":-162,"y":230}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"hOut"}],"to":[{"dot_op":false,"identifier":"sub2"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-280,"y":172},{"x":-240,"y":172},{"x":-240,"y":156},{"x":-202,"y":156}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"hOutCut"}],"to":[{"dot_op":false,"identifier":"sub2"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-280,"y":132},{"x":-240,"y":132},{"x":-240,"y":144},{"x":-202,"y":144}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"sub2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"hysOutEnt"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-178,"y":150},{"x":-162,"y":150}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"uOutDam_min"}],"to":[{"dot_op":false,"identifier":"outDamSwitch"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-280,"y":-78},{"x":10,"y":-78},{"x":10,"y":-60},{"x":80,"y":-60}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"uOutDam_max"}],"to":[{"dot_op":false,"identifier":"outDamSwitch"},{"dot_op":true},{"dot_op":false,"identifier":"u3"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-280,"y":-38},{"x":-220,"y":-38},{"x":-220,"y":-76},{"x":80,"y":-76}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"uRetDamPhy_max"}],"to":[{"dot_op":false,"identifier":"maxRetDamSwitch"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-280,"y":-118},{"x":58,"y":-118}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"uRetDam_max"}],"to":[{"dot_op":false,"identifier":"maxRetDamSwitch"},{"dot_op":true},{"dot_op":false,"identifier":"u3"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-280,"y":-158},{"x":-158,"y":-158},{"x":-158,"y":-134},{"x":58,"y":-134}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"andEnaDis"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"not2"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":82,"y":22},{"x":92,"y":22},{"x":92,"y":-8},{"x":-80,"y":-8},{"x":-80,"y":-48},{"x":-62,"y":-48}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"maxRetDamSwitch"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"yRetDam_max"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":82,"y":-126},{"x":200,"y":-126},{"x":200,"y":-18},{"x":260,"y":-18}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"and2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"maxRetDamSwitch"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":182,"y":-90},{"x":190,"y":-90},{"x":190,"y":-148},{"x":40,"y":-148},{"x":40,"y":-126},{"x":58,"y":-126}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"and2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"minRetDamSwitch"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":182,"y":-90},{"x":190,"y":-90},{"x":190,"y":-148},{"x":40,"y":-148},{"x":40,"y":-168},{"x":58,"y":-168}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"not2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"retDamSwitch"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-38,"y":-48},{"x":-30,"y":-48},{"x":-30,"y":-166},{"x":-22,"y":-166}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"uRetDam_max"}],"to":[{"dot_op":false,"identifier":"retDamSwitch"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-280,"y":-158},{"x":-22,"y":-158}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"uRetDam_min"}],"to":[{"dot_op":false,"identifier":"retDamSwitch"},{"dot_op":true},{"dot_op":false,"identifier":"u3"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-280,"y":-198},{"x":-152,"y":-198},{"x":-152,"y":-174},{"x":-22,"y":-174}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"retDamSwitch"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"minRetDamSwitch"},{"dot_op":true},{"dot_op":false,"identifier":"u3"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":2,"y":-166},{"x":20,"y":-166},{"x":20,"y":-176},{"x":58,"y":-176}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"uRetDamPhy_max"}],"to":[{"dot_op":false,"identifier":"minRetDamSwitch"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-280,"y":-118},{"x":20,"y":-118},{"x":20,"y":-160},{"x":58,"y":-160}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"truFalHol"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"and1"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":42,"y":192},{"x":50,"y":192},{"x":50,"y":112},{"x":10,"y":112},{"x":10,"y":90},{"x":18,"y":90}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"and1"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"andEnaDis"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":42,"y":90},{"x":50,"y":90},{"x":50,"y":22},{"x":58,"y":22}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u1SupFan"}],"to":[{"dot_op":false,"identifier":"and1"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-280,"y":82},{"x":18,"y":82}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"outDamSwitch"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"and3"},{"dot_op":true},{"dot_op":false,"identifier":"y"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":80,"y":-68},{"x":70,"y":-68},{"x":70,"y":-44},{"x":62,"y":-44}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"not2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"and3"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-38,"y":-48},{"x":-30,"y":-48},{"x":-30,"y":-22},{"x":28,"y":-22},{"x":28,"y":-44},{"x":38,"y":-44}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"and2"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}],"to":[{"dot_op":false,"identifier":"not2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":158,"y":-90},{"x":126,"y":-90},{"x":126,"y":-22},{"x":-30,"y":-22},{"x":-30,"y":-48},{"x":-38,"y":-48}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"and3"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"delOutDamOsc"},{"dot_op":true},{"dot_op":false,"identifier":"y"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":38,"y":-52},{"x":20,"y":-52},{"x":20,"y":-48},{"x":2,"y":-48}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"delOutDamOsc"},{"dot_op":true},{"dot_op":false,"identifier":"u"}],"to":[{"dot_op":false,"identifier":"not2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-22,"y":-48},{"x":-38,"y":-48}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"not2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"delRetDam"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-38,"y":-48},{"x":-30,"y":-48},{"x":-30,"y":-98},{"x":-22,"y":-98}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"delRetDam"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"not1"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":2,"y":-98},{"x":18,"y":-98}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"not1"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"and2"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":42,"y":-98},{"x":158,"y":-98}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"uFreProSta"}],"to":[{"dot_op":false,"identifier":"intEqu"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-280,"y":42},{"x":-80,"y":42}],"color":{"r":255,"g":127,"b":0}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"conInt"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"intEqu"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-96,"y":22},{"x":-90,"y":22},{"x":-90,"y":34},{"x":-80,"y":34}],"color":{"r":255,"g":127,"b":0}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"intEqu"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"andEnaDis"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-56,"y":42},{"x":40,"y":42},{"x":40,"y":14},{"x":58,"y":14}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"outDamSwitch"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"yOutDam_max"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":104,"y":-68},{"x":190,"y":-68},{"x":190,"y":42},{"x":260,"y":42}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"minRetDamSwitch"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"yRetDam_min"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":82,"y":-168},{"x":210,"y":-168},{"x":210,"y":-78},{"x":260,"y":-78}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"or2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"truFalHol"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-38,"y":192},{"x":18,"y":192}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"hysOutTem"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"or2"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-138,"y":230},{"x":-80,"y":230},{"x":-80,"y":192},{"x":-62,"y":192}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"hysOutEnt"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"or2"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-138,"y":150},{"x":-100,"y":150},{"x":-100,"y":184},{"x":-62,"y":184}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"entSubst1"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"or2"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-138,"y":190},{"x":-100,"y":190},{"x":-100,"y":184},{"x":-62,"y":184}],"color":{"r":255,"g":0,"b":255}}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"enaDis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-100,"y":-140},{"x":100,"y":140}]}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-140},{"x":100,"y":140}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":180},{"x":100,"y":140}],"textString":"\"%name\"","textColor":{"r":0,"g":0,"b":255}}},{"name":"Line","attribute":{"points":[{"x":0,"y":60},{"x":80,"y":60}],"color":{"r":0,"g":0,"b":127},"thickness":0.5}},{"name":"Line","attribute":{"points":[{"x":-80,"y":-60},{"x":0,"y":-60},{"x":0,"y":60}],"color":{"r":0,"g":0,"b":127},"thickness":0.5}},{"name":"Text","attribute":{"extent":[{"x":-98,"y":38},{"x":-56,"y":24}],"textString":"\"u1SupFan\"","textColor":{"r":255,"g":0,"b":255},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":18},{"x":-44,"y":4}],"textString":"\"uFreProSta\"","textColor":{"r":255,"g":127,"b":0},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":68},{"x":-56,"y":54}],"textString":"\"hOutCut\"","textColor":{"r":0,"g":0,"b":127},"visible":"use_enthalpy","pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":86},{"x":-70,"y":72}],"textString":"\"hOut\"","textColor":{"r":0,"g":0,"b":127},"visible":"use_enthalpy","pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":116},{"x":-56,"y":102}],"textString":"\"TOutCut\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":138},{"x":-72,"y":124}],"textString":"\"TOut\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-100},{"x":-32,"y":-118}],"textString":"\"uRetDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-10},{"x":-28,"y":-28}],"textString":"\"uOutDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-30},{"x":-28,"y":-48}],"textString":"\"uOutDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-80},{"x":-12,"y":-98}],"textString":"\"uRetDamPhy_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-120},{"x":-32,"y":-138}],"textString":"\"uRetDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":110},{"x":96,"y":92}],"textString":"\"yOutDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":12},{"x":96,"y":-6}],"textString":"\"yRetDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":-88},{"x":96,"y":-106}],"textString":"\"yRetDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-260,"y":-280},{"x":240,"y":280}],"preserveAspectRatio":"false","initialScale":0.05}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":-2},{"x":220,"y":-250}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":58},{"x":220,"y":6}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":118},{"x":220,"y":66}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":258},{"x":220,"y":130}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":158},{"x":204,"y":138}],"textString":"\"Outdoor air\nconditions\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":52},{"x":298,"y":18}],"textString":"\"Freeze protection -\ndisable if stage1\nand above\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":-198},{"x":288,"y":-246}],"textString":"\"Damper position\nlimit assignments\nwith delays\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":84},{"x":214,"y":74}],"textString":"\"Supply fan status\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is a multi zone VAV AHU economizer enable/disable sequence\nbased on the Section 5.16.7 of the ASHRAE Guideline 36, May 2020. Additional\nconditions included in the sequence are: freeze protection (freeze protection\nstage 0-3, see Section 5.16.12), supply fan status (on or off, see Section 5.16.5).\n

\n

\nThe economizer is disabled whenever the outdoor air conditions\nexceed the economizer high limit setpoint.\nThis sequence allows for all device types listed in\nASHRAE 90.1-2013 and Title 24-2013.\n

\n

\nIn addition, the economizer gets disabled without a delay whenever any of the\nfollowing is true:\n

\n\n

\nThe following state machine chart illustrates the transitions between enabling and disabling:\n

\n

\n\\\"Image\n

\n

\nAfter the disable signal is activated, the following procedure is applied, in order to\nprevent pressure fluctuations in the HVAC system:\n

\n
    \n
  • \nThe return damper gets fully opened (yRetDam_max = uRetDamPhy_max and\nyRetDam_min = uRetDamPhy_max) for retDamFulOpeTim\ntime period, after which the return damper gets released to its minimum outdoor airflow control position\n(yRetDam_max = uRetDam_max and yRetDam_min = uRetDam_max).\n
  • \n
  • \nThe outdoor air damper is closed to its minimum outoor airflow control limit (yOutDam_max = uOutDam_min)\nafter a disDel time delay.\n
  • \n
\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\n
    \n
  • \nOctober 13, 2017, by Michael Wetter:
    \nAdded freeze protection that tracks mixed air temperature.\n
  • \n
  • \nAugust 3, 2017, by Michael Wetter:
    \nRemoved unrequired input into block and2 as this input\nwas always true if and2.u2 = true.\n
  • \n
  • \nJune 27, 2017, by Milica Grahovac:
    \nFirst implementation.\n
  • \n
\n\""}}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/Enable.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo","checksum":"eb8b98db85867de442db1d343eb17908"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Enable", + "description_string": "Multi zone VAV AHU economizer enable/disable switch", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "use_enthalpy", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + }, + "description": { + "description_string": "Set to true to evaluate outdoor air (OA) enthalpy in addition to temperature", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Conditional\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "delTOutHis", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "displayUnit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"TemperatureDifference\"" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Delta between the temperature hysteresis high and low limit", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Hysteresis\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "delEntHis", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"J/kg\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"SpecificEnergy\"" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "1000" + } + } + }, + "description": { + "description_string": "Delta between the enthalpy hysteresis high and low limits", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Hysteresis\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "use_enthalpy" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "retDamFulOpeTim", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"s\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Time\"" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "180" + } + } + }, + "description": { + "description_string": "Time period to keep RA damper fully open before releasing it for minimum outdoor airflow control\n at disable to avoid pressure fluctuations", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Delays at disable\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "disDel", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"s\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Time\"" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "15" + } + } + }, + "description": { + "description_string": "Short time delay before closing the OA damper at disable to avoid pressure fluctuations", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Delays at disable\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "TOut", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "displayUnit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"degC\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"ThermodynamicTemperature\"" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Outdoor air temperature", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": 232 + }, + { + "x": -260, + "y": 272 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 110 + }, + { + "x": -100, + "y": 150 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "hOut", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"J/kg\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"SpecificEnergy\"" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "use_enthalpy" + } + }, + "description": { + "description_string": "Outdoor air enthalpy", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": 152 + }, + { + "x": -260, + "y": 192 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 60 + }, + { + "x": -100, + "y": 100 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "TOutCut", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "displayUnit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"degC\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"ThermodynamicTemperature\"" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "OA temperature high limit cutoff. For differential dry bulb temperature condition use return air temperature measurement", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": 192 + }, + { + "x": -260, + "y": 232 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 90 + }, + { + "x": -100, + "y": 130 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "hOutCut", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"J/kg\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"SpecificEnergy\"" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "use_enthalpy" + } + }, + "description": { + "description_string": "OA enthalpy high limit cutoff. For differential enthalpy use return air enthalpy measurement", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": 112 + }, + { + "x": -260, + "y": 152 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "uOutDam_min", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Minimum outdoor air damper position, output from damper position limits sequence", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": -98 + }, + { + "x": -260, + "y": -58 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -60 + }, + { + "x": -100, + "y": -20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "uOutDam_max", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Maximum outdoor air damper position, output from damper position limits sequence", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": -58 + }, + { + "x": -260, + "y": -18 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -40 + }, + { + "x": -100, + "y": 0 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "uRetDam_max", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Maximum return air damper position, output from damper position limits sequence", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": -178 + }, + { + "x": -260, + "y": -138 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -130 + }, + { + "x": -100, + "y": -90 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "uRetDam_min", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Minimum return air damper position, output from damper position limits sequence", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": -218 + }, + { + "x": -260, + "y": -178 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -150 + }, + { + "x": -100, + "y": -110 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "uRetDamPhy_max", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Physical maximum return air damper position, output from damper position limits sequence", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": -138 + }, + { + "x": -260, + "y": -98 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -110 + }, + { + "x": -100, + "y": -70 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", + "component_list": [ + { + "declaration": { + "identifier": "u1SupFan" + }, + "description": { + "description_string": "Supply fan proven on", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": 62 + }, + { + "x": -260, + "y": 102 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 10 + }, + { + "x": -100, + "y": 50 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.IntegerInput", + "component_list": [ + { + "declaration": { + "identifier": "uFreProSta" + }, + "description": { + "description_string": "Freeze protection stage status signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": 22 + }, + { + "x": -260, + "y": 62 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -10 + }, + { + "x": -100, + "y": 30 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "yOutDam_max", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Maximum outdoor air damper position", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 240, + "y": 22 + }, + { + "x": 280, + "y": 62 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": 80 + }, + { + "x": 140, + "y": 120 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "yRetDam_min", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Minimum return air damper position", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 240, + "y": -98 + }, + { + "x": 280, + "y": -58 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -120 + }, + { + "x": 140, + "y": -80 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "yRetDam_max", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Maximum return air damper position", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 240, + "y": -38 + }, + { + "x": 280, + "y": 2 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueFalseHold", + "component_list": [ + { + "declaration": { + "identifier": "truFalHol", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "trueHoldDuration", + "modification": { + "equal": true, + "expression": { + "simple_expression": "600" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Economizer should not be enabled or disabled within 10 minutes of change", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 20, + "y": 182 + }, + { + "x": 40, + "y": 202 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.And", + "component_list": [ + { + "declaration": { + "identifier": "andEnaDis" + }, + "description": { + "description_string": "Check freeze protection stage and zone state", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 60, + "y": 12 + }, + { + "x": 80, + "y": 32 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "protected_element_list": [ + { + "final": true, + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "TOutHigLimCutHig", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "displayUnit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"TemperatureDifference\"" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "0" + } + } + }, + "description": { + "description_string": "Hysteresis high limit cutoff" + } + } + ] + } + }, + { + "final": true, + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "TOutHigLimCutLow", + "modification": { + "equal": true, + "expression": { + "simple_expression": "TOutHigLimCutHig -delTOutHis" + } + } + }, + "description": { + "description_string": "Hysteresis low limit cutoff" + } + } + ] + } + }, + { + "final": true, + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "hOutHigLimCutHig", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"J/kg\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"SpecificEnergy\"" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "0" + } + } + }, + "description": { + "description_string": "Hysteresis block high limit cutoff" + } + } + ] + } + }, + { + "final": true, + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "hOutHigLimCutLow", + "modification": { + "equal": true, + "expression": { + "simple_expression": "hOutHigLimCutHig -delEntHis" + } + } + }, + "description": { + "description_string": "Hysteresis block low limit cutoff" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", + "component_list": [ + { + "declaration": { + "identifier": "sub2" + }, + "condition_attribute": { + "expression": { + "simple_expression": "use_enthalpy" + } + }, + "description": { + "description_string": "Add block determines difference between hOut and hOutCut", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -200, + "y": 140 + }, + { + "x": -180, + "y": 160 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", + "component_list": [ + { + "declaration": { + "identifier": "sub1" + }, + "description": { + "description_string": "Add block determines difference between TOut and TOutCut", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -200, + "y": 220 + }, + { + "x": -180, + "y": 240 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Hysteresis", + "component_list": [ + { + "declaration": { + "identifier": "hysOutTem", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "uLow", + "modification": { + "equal": true, + "expression": { + "simple_expression": "TOutHigLimCutLow" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "uHigh", + "modification": { + "equal": true, + "expression": { + "simple_expression": "TOutHigLimCutHig" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Outdoor air temperature hysteresis for both fixed and differential dry bulb temperature cutoff conditions", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -160, + "y": 220 + }, + { + "x": -140, + "y": 240 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Hysteresis", + "component_list": [ + { + "declaration": { + "identifier": "hysOutEnt", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "uLow", + "modification": { + "equal": true, + "expression": { + "simple_expression": "hOutHigLimCutLow" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "uHigh", + "modification": { + "equal": true, + "expression": { + "simple_expression": "hOutHigLimCutHig" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "use_enthalpy" + } + }, + "description": { + "description_string": "Outdoor air enthalpy hysteresis for both fixed and differential enthalpy cutoff conditions", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -160, + "y": 140 + }, + { + "x": -140, + "y": 160 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Switch", + "component_list": [ + { + "declaration": { + "identifier": "outDamSwitch" + }, + "description": { + "description_string": "Set maximum OA damper position to minimum at disable (after a given time delay)", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 82, + "y": -78 + }, + { + "x": 102, + "y": -58 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Switch", + "component_list": [ + { + "declaration": { + "identifier": "retDamSwitch" + }, + "description": { + "description_string": "Set minimum RA damper position to maximum at disable", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -20, + "y": -176 + }, + { + "x": 0, + "y": -156 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Switch", + "component_list": [ + { + "declaration": { + "identifier": "maxRetDamSwitch" + }, + "description": { + "description_string": "Keep maximum RA damper position at physical maximum for a short time period after disable signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 60, + "y": -136 + }, + { + "x": 80, + "y": -116 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Switch", + "component_list": [ + { + "declaration": { + "identifier": "minRetDamSwitch" + }, + "description": { + "description_string": "Keep minimum RA damper position at physical maximum for a short time period after disable", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 60, + "y": -178 + }, + { + "x": 80, + "y": -158 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Not", + "component_list": [ + { + "declaration": { + "identifier": "not2" + }, + "description": { + "description_string": "Logical not that starts the timer at disable signal ", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": -58 + }, + { + "x": -40, + "y": -38 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.And", + "component_list": [ + { + "declaration": { + "identifier": "and2" + }, + "description": { + "description_string": "Logical and", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 160, + "y": -100 + }, + { + "x": 180, + "y": -80 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.And", + "component_list": [ + { + "declaration": { + "identifier": "and1" + }, + "description": { + "description_string": "Check supply fan status", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 20, + "y": 80 + }, + { + "x": 40, + "y": 100 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.And", + "component_list": [ + { + "declaration": { + "identifier": "and3" + }, + "description": { + "description_string": "Check if delay time has been passed after economizer being disabled", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 40, + "y": -54 + }, + { + "x": 60, + "y": -34 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Integers.Equal", + "component_list": [ + { + "declaration": { + "identifier": "intEqu" + }, + "description": { + "description_string": "Logical block to check if the freeze protection is deactivated", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -78, + "y": 32 + }, + { + "x": -58, + "y": 52 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", + "component_list": [ + { + "declaration": { + "identifier": "delOutDamOsc", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "delayTime", + "modification": { + "equal": true, + "expression": { + "simple_expression": "disDel" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Small delay before closing the outdoor air damper to avoid pressure fluctuations", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -20, + "y": -58 + }, + { + "x": 0, + "y": -38 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", + "component_list": [ + { + "declaration": { + "identifier": "delRetDam", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "delayTime", + "modification": { + "equal": true, + "expression": { + "simple_expression": "retDamFulOpeTim" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Keep return damper open to its physical maximum for a short period of time before closing the outdoor air damper and resuming the maximum return air damper position, per G36 Part N7", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -20, + "y": -108 + }, + { + "x": 0, + "y": -88 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Not", + "component_list": [ + { + "declaration": { + "identifier": "not1" + }, + "description": { + "description_string": "Logical not", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 20, + "y": -108 + }, + { + "x": 40, + "y": -88 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Integers.Sources.Constant", + "component_list": [ + { + "declaration": { + "identifier": "conInt", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeProtectionStages.stage0" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Integer constant, stage 0", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -118, + "y": 12 + }, + { + "x": -98, + "y": 32 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Sources.Constant", + "component_list": [ + { + "declaration": { + "identifier": "entSubst1", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "false" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "not use_enthalpy" + } + }, + "description": { + "description_string": "Deactivates outdoor air enthalpy condition if there is no enthalpy sensor", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -160, + "y": 180 + }, + { + "x": -140, + "y": 200 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Or", + "component_list": [ + { + "declaration": { + "identifier": "or2" + }, + "description": { + "description_string": "Check if either the temperature or the enthalpy condition is satisfied", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": 182 + }, + { + "x": -40, + "y": 202 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ] + }, + { + "equation_section": { + "equation": [ + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "TOut" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "sub1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -280, + "y": 252 + }, + { + "x": -240, + "y": 252 + }, + { + "x": -240, + "y": 236 + }, + { + "x": -202, + "y": 236 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "TOutCut" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "sub1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -280, + "y": 212 + }, + { + "x": -240, + "y": 212 + }, + { + "x": -240, + "y": 224 + }, + { + "x": -202, + "y": 224 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "sub1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "hysOutTem" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -178, + "y": 230 + }, + { + "x": -162, + "y": 230 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "hOut" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "sub2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -280, + "y": 172 + }, + { + "x": -240, + "y": 172 + }, + { + "x": -240, + "y": 156 + }, + { + "x": -202, + "y": 156 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "hOutCut" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "sub2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -280, + "y": 132 + }, + { + "x": -240, + "y": 132 + }, + { + "x": -240, + "y": 144 + }, + { + "x": -202, + "y": 144 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "sub2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "hysOutEnt" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -178, + "y": 150 + }, + { + "x": -162, + "y": 150 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "uOutDam_min" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "outDamSwitch" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -280, + "y": -78 + }, + { + "x": 10, + "y": -78 + }, + { + "x": 10, + "y": -60 + }, + { + "x": 80, + "y": -60 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "uOutDam_max" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "outDamSwitch" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u3" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -280, + "y": -38 + }, + { + "x": -220, + "y": -38 + }, + { + "x": -220, + "y": -76 + }, + { + "x": 80, + "y": -76 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "uRetDamPhy_max" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "maxRetDamSwitch" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -280, + "y": -118 + }, + { + "x": 58, + "y": -118 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "uRetDam_max" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "maxRetDamSwitch" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u3" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -280, + "y": -158 + }, + { + "x": -158, + "y": -158 + }, + { + "x": -158, + "y": -134 + }, + { + "x": 58, + "y": -134 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "andEnaDis" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "not2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 82, + "y": 22 + }, + { + "x": 92, + "y": 22 + }, + { + "x": 92, + "y": -8 + }, + { + "x": -80, + "y": -8 + }, + { + "x": -80, + "y": -48 + }, + { + "x": -62, + "y": -48 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "maxRetDamSwitch" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "yRetDam_max" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 82, + "y": -126 + }, + { + "x": 200, + "y": -126 + }, + { + "x": 200, + "y": -18 + }, + { + "x": 260, + "y": -18 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "and2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "maxRetDamSwitch" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 182, + "y": -90 + }, + { + "x": 190, + "y": -90 + }, + { + "x": 190, + "y": -148 + }, + { + "x": 40, + "y": -148 + }, + { + "x": 40, + "y": -126 + }, + { + "x": 58, + "y": -126 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "and2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "minRetDamSwitch" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 182, + "y": -90 + }, + { + "x": 190, + "y": -90 + }, + { + "x": 190, + "y": -148 + }, + { + "x": 40, + "y": -148 + }, + { + "x": 40, + "y": -168 + }, + { + "x": 58, + "y": -168 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "not2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "retDamSwitch" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -38, + "y": -48 + }, + { + "x": -30, + "y": -48 + }, + { + "x": -30, + "y": -166 + }, + { + "x": -22, + "y": -166 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "uRetDam_max" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "retDamSwitch" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -280, + "y": -158 + }, + { + "x": -22, + "y": -158 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "uRetDam_min" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "retDamSwitch" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u3" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -280, + "y": -198 + }, + { + "x": -152, + "y": -198 + }, + { + "x": -152, + "y": -174 + }, + { + "x": -22, + "y": -174 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "retDamSwitch" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "minRetDamSwitch" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u3" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 2, + "y": -166 + }, + { + "x": 20, + "y": -166 + }, + { + "x": 20, + "y": -176 + }, + { + "x": 58, + "y": -176 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "uRetDamPhy_max" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "minRetDamSwitch" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -280, + "y": -118 + }, + { + "x": 20, + "y": -118 + }, + { + "x": 20, + "y": -160 + }, + { + "x": 58, + "y": -160 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "truFalHol" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "and1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 42, + "y": 192 + }, + { + "x": 50, + "y": 192 + }, + { + "x": 50, + "y": 112 + }, + { + "x": 10, + "y": 112 + }, + { + "x": 10, + "y": 90 + }, + { + "x": 18, + "y": 90 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "and1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "andEnaDis" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 42, + "y": 90 + }, + { + "x": 50, + "y": 90 + }, + { + "x": 50, + "y": 22 + }, + { + "x": 58, + "y": 22 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u1SupFan" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "and1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -280, + "y": 82 + }, + { + "x": 18, + "y": 82 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "outDamSwitch" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "and3" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 80, + "y": -68 + }, + { + "x": 70, + "y": -68 + }, + { + "x": 70, + "y": -44 + }, + { + "x": 62, + "y": -44 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "not2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "and3" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -38, + "y": -48 + }, + { + "x": -30, + "y": -48 + }, + { + "x": -30, + "y": -22 + }, + { + "x": 28, + "y": -22 + }, + { + "x": 28, + "y": -44 + }, + { + "x": 38, + "y": -44 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "and2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "not2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 158, + "y": -90 + }, + { + "x": 126, + "y": -90 + }, + { + "x": 126, + "y": -22 + }, + { + "x": -30, + "y": -22 + }, + { + "x": -30, + "y": -48 + }, + { + "x": -38, + "y": -48 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "and3" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "delOutDamOsc" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 38, + "y": -52 + }, + { + "x": 20, + "y": -52 + }, + { + "x": 20, + "y": -48 + }, + { + "x": 2, + "y": -48 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "delOutDamOsc" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "not2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -22, + "y": -48 + }, + { + "x": -38, + "y": -48 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "not2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "delRetDam" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -38, + "y": -48 + }, + { + "x": -30, + "y": -48 + }, + { + "x": -30, + "y": -98 + }, + { + "x": -22, + "y": -98 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "delRetDam" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "not1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 2, + "y": -98 + }, + { + "x": 18, + "y": -98 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "not1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "and2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 42, + "y": -98 + }, + { + "x": 158, + "y": -98 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "uFreProSta" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "intEqu" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -280, + "y": 42 + }, + { + "x": -80, + "y": 42 + } + ], + "color": { + "r": 255, + "g": 127, + "b": 0 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "conInt" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "intEqu" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -96, + "y": 22 + }, + { + "x": -90, + "y": 22 + }, + { + "x": -90, + "y": 34 + }, + { + "x": -80, + "y": 34 + } + ], + "color": { + "r": 255, + "g": 127, + "b": 0 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "intEqu" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "andEnaDis" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -56, + "y": 42 + }, + { + "x": 40, + "y": 42 + }, + { + "x": 40, + "y": 14 + }, + { + "x": 58, + "y": 14 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "outDamSwitch" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "yOutDam_max" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 104, + "y": -68 + }, + { + "x": 190, + "y": -68 + }, + { + "x": 190, + "y": 42 + }, + { + "x": 260, + "y": 42 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "minRetDamSwitch" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "yRetDam_min" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 82, + "y": -168 + }, + { + "x": 210, + "y": -168 + }, + { + "x": 210, + "y": -78 + }, + { + "x": 260, + "y": -78 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "or2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "truFalHol" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -38, + "y": 192 + }, + { + "x": 18, + "y": 192 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "hysOutTem" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "or2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -138, + "y": 230 + }, + { + "x": -80, + "y": 230 + }, + { + "x": -80, + "y": 192 + }, + { + "x": -62, + "y": 192 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "hysOutEnt" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "or2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -138, + "y": 150 + }, + { + "x": -100, + "y": 150 + }, + { + "x": -100, + "y": 184 + }, + { + "x": -62, + "y": 184 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "entSubst1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "or2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -138, + "y": 190 + }, + { + "x": -100, + "y": 190 + }, + { + "x": -100, + "y": 184 + }, + { + "x": -62, + "y": 184 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"enaDis\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -140 + }, + { + "x": 100, + "y": 140 + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -140 + }, + { + "x": 100, + "y": 140 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 180 + }, + { + "x": 100, + "y": 140 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": 0, + "y": 60 + }, + { + "x": 80, + "y": 60 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + }, + "thickness": 0.5 + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": -60 + }, + { + "x": 0, + "y": -60 + }, + { + "x": 0, + "y": 60 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + }, + "thickness": 0.5 + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -98, + "y": 38 + }, + { + "x": -56, + "y": 24 + } + ], + "textString": "\"u1SupFan\"", + "textColor": { + "r": 255, + "g": 0, + "b": 255 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 18 + }, + { + "x": -44, + "y": 4 + } + ], + "textString": "\"uFreProSta\"", + "textColor": { + "r": 255, + "g": 127, + "b": 0 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 68 + }, + { + "x": -56, + "y": 54 + } + ], + "textString": "\"hOutCut\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "visible": "use_enthalpy", + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 86 + }, + { + "x": -70, + "y": 72 + } + ], + "textString": "\"hOut\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "visible": "use_enthalpy", + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 116 + }, + { + "x": -56, + "y": 102 + } + ], + "textString": "\"TOutCut\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 138 + }, + { + "x": -72, + "y": 124 + } + ], + "textString": "\"TOut\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -96, + "y": -100 + }, + { + "x": -32, + "y": -118 + } + ], + "textString": "\"uRetDam_max\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -96, + "y": -10 + }, + { + "x": -28, + "y": -28 + } + ], + "textString": "\"uOutDam_max\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -96, + "y": -30 + }, + { + "x": -28, + "y": -48 + } + ], + "textString": "\"uOutDam_min\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -96, + "y": -80 + }, + { + "x": -12, + "y": -98 + } + ], + "textString": "\"uRetDamPhy_max\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -96, + "y": -120 + }, + { + "x": -32, + "y": -138 + } + ], + "textString": "\"uRetDam_min\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 36, + "y": 110 + }, + { + "x": 96, + "y": 92 + } + ], + "textString": "\"yOutDam_max\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 36, + "y": 12 + }, + { + "x": 96, + "y": -6 + } + ], + "textString": "\"yRetDam_max\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 36, + "y": -88 + }, + { + "x": 96, + "y": -106 + } + ], + "textString": "\"yRetDam_min\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -260, + "y": -280 + }, + { + "x": 240, + "y": 280 + } + ], + "preserveAspectRatio": "false", + "initialScale": 0.05 + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -240, + "y": -2 + }, + { + "x": 220, + "y": -250 + } + ], + "lineColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "fillColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -240, + "y": 58 + }, + { + "x": 220, + "y": 6 + } + ], + "lineColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "fillColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -240, + "y": 118 + }, + { + "x": 220, + "y": 66 + } + ], + "lineColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "fillColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -240, + "y": 258 + }, + { + "x": 220, + "y": 130 + } + ], + "lineColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "fillColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 120, + "y": 158 + }, + { + "x": 204, + "y": 138 + } + ], + "textString": "\"Outdoor air\nconditions\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "horizontalAlignment": "TextAlignment.Left" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 120, + "y": 52 + }, + { + "x": 298, + "y": 18 + } + ], + "textString": "\"Freeze protection -\ndisable if stage1\nand above\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "horizontalAlignment": "TextAlignment.Left" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 120, + "y": -198 + }, + { + "x": 288, + "y": -246 + } + ], + "textString": "\"Damper position\nlimit assignments\nwith delays\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "horizontalAlignment": "TextAlignment.Left" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 120, + "y": 84 + }, + { + "x": 214, + "y": 74 + } + ], + "textString": "\"Supply fan status\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "horizontalAlignment": "TextAlignment.Left" + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis is a multi zone VAV AHU economizer enable/disable sequence\nbased on the Section 5.16.7 of the ASHRAE Guideline 36, May 2020. Additional\nconditions included in the sequence are: freeze protection (freeze protection\nstage 0-3, see Section 5.16.12), supply fan status (on or off, see Section 5.16.5).\n

\n

\nThe economizer is disabled whenever the outdoor air conditions\nexceed the economizer high limit setpoint.\nThis sequence allows for all device types listed in\nASHRAE 90.1-2013 and Title 24-2013.\n

\n

\nIn addition, the economizer gets disabled without a delay whenever any of the\nfollowing is true:\n

\n\n

\nThe following state machine chart illustrates the transitions between enabling and disabling:\n

\n

\n\\\"Image\n

\n

\nAfter the disable signal is activated, the following procedure is applied, in order to\nprevent pressure fluctuations in the HVAC system:\n

\n
    \n
  • \nThe return damper gets fully opened (yRetDam_max = uRetDamPhy_max and\nyRetDam_min = uRetDamPhy_max) for retDamFulOpeTim\ntime period, after which the return damper gets released to its minimum outdoor airflow control position\n(yRetDam_max = uRetDam_max and yRetDam_min = uRetDam_max).\n
  • \n
  • \nThe outdoor air damper is closed to its minimum outoor airflow control limit (yOutDam_max = uOutDam_min)\nafter a disDel time delay.\n
  • \n
\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nOctober 13, 2017, by Michael Wetter:
    \nAdded freeze protection that tracks mixed air temperature.\n
  • \n
  • \nAugust 3, 2017, by Michael Wetter:
    \nRemoved unrequired input into block and2 as this input\nwas always true if and2.u2 = true.\n
  • \n
  • \nJune 27, 2017, by Milica Grahovac:
    \nFirst implementation.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/Enable.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo", + "checksum": "eb8b98db85867de442db1d343eb17908" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/ExtendsClause_1.json b/test/reference/json/test/FromModelica/ExtendsClause_1.json index f27a3629..b3628d73 100644 --- a/test/reference/json/test/FromModelica/ExtendsClause_1.json +++ b/test/reference/json/test/FromModelica/ExtendsClause_1.json @@ -1 +1,205 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"ExtendsClause_1","description_string":"model with extends clause","composition":{"element_list":[{"extends_clause":{"name":"Buildings.Controls.OBC.CDL.Reals.PID","class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Ti","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","component_list":[{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","component_list":[{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}}]}}],"element_sections":[{"protected_element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","component_list":[{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}}]}}]}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/ExtendsClause_1.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo","checksum":"fa160b8ae57857447b00f097ea85ebb2"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "ExtendsClause_1", + "description_string": "model with extends clause", + "composition": { + "element_list": [ + { + "extends_clause": { + "name": "Buildings.Controls.OBC.CDL.Reals.PID", + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "2" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Ti", + "modification": { + "equal": true, + "expression": { + "simple_expression": "2" + } + } + } + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "component_list": [ + { + "declaration": { + "identifier": "gain", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Constant gain", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": -50 + }, + { + "x": -40, + "y": -30 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Modelica.SIunits.Length", + "component_list": [ + { + "declaration": { + "identifier": "length" + }, + "description": { + "description_string": "Length of the pipe" + } + } + ] + } + } + ], + "element_sections": [ + { + "protected_element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Modelica.SIunits.Area", + "component_list": [ + { + "declaration": { + "identifier": "ARound", + "modification": { + "equal": true, + "expression": { + "simple_expression": "dh^2*Modelica.Constants.pi/4" + } + } + }, + "description": { + "description_string": "Cross sectional area (assuming a round cross section area)" + } + } + ] + } + } + ] + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"res\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\ntest...test...test...test...test...\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\ntest...test...test...\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/ExtendsClause_1.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo", + "checksum": "fa160b8ae57857447b00f097ea85ebb2" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/ExtendsClause_2.json b/test/reference/json/test/FromModelica/ExtendsClause_2.json index 3baf8b22..b0f4823d 100644 --- a/test/reference/json/test/FromModelica/ExtendsClause_2.json +++ b/test/reference/json/test/FromModelica/ExtendsClause_2.json @@ -1 +1,256 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"ExtendsClause_2","description_string":"model with extends clause","composition":{"element_list":[{"extends_clause":{"name":"Buildings.Controls.OBC.CDL.Reals.PID","class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Ti","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}}]}},{"extends_clause":{"name":"Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset","class_modification":[{"element_redeclaration":{"component_clause1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","component_declaration1":{"declaration":{"identifier":"onDelay","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"duration"}}}}}]}}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"duration","modification":{"equal":true,"expression":{"simple_expression":"300"}}}}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","component_list":[{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","component_list":[{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}}]}}],"element_sections":[{"protected_element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","component_list":[{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}}]}}]}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/ExtendsClause_2.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo","checksum":"8bb4bf32442dfb35bcaee0fe8ebda173"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "ExtendsClause_2", + "description_string": "model with extends clause", + "composition": { + "element_list": [ + { + "extends_clause": { + "name": "Buildings.Controls.OBC.CDL.Reals.PID", + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "2" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Ti", + "modification": { + "equal": true, + "expression": { + "simple_expression": "2" + } + } + } + } + } + ] + } + }, + { + "extends_clause": { + "name": "Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset", + "class_modification": [ + { + "element_redeclaration": { + "component_clause1": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", + "component_declaration1": { + "declaration": { + "identifier": "onDelay", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "delayTime", + "modification": { + "equal": true, + "expression": { + "simple_expression": "duration" + } + } + } + } + } + ] + } + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "duration", + "modification": { + "equal": true, + "expression": { + "simple_expression": "300" + } + } + } + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "component_list": [ + { + "declaration": { + "identifier": "gain", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Constant gain", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": -50 + }, + { + "x": -40, + "y": -30 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Modelica.SIunits.Length", + "component_list": [ + { + "declaration": { + "identifier": "length" + }, + "description": { + "description_string": "Length of the pipe" + } + } + ] + } + } + ], + "element_sections": [ + { + "protected_element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Modelica.SIunits.Area", + "component_list": [ + { + "declaration": { + "identifier": "ARound", + "modification": { + "equal": true, + "expression": { + "simple_expression": "dh^2*Modelica.Constants.pi/4" + } + } + }, + "description": { + "description_string": "Cross sectional area (assuming a round cross section area)" + } + } + ] + } + } + ] + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"res\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\ntest...test...test...test...test...\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\ntest...test...test...\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/ExtendsClause_2.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo", + "checksum": "8bb4bf32442dfb35bcaee0fe8ebda173" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/ExtendsClause_3.json b/test/reference/json/test/FromModelica/ExtendsClause_3.json index 7aeb7b9e..8d311da5 100644 --- a/test/reference/json/test/FromModelica/ExtendsClause_3.json +++ b/test/reference/json/test/FromModelica/ExtendsClause_3.json @@ -1 +1,198 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"ExtendsClause_3","description_string":"model with extends clause","composition":{"element_list":[{"extends_clause":{"name":"Buildings.Controls.OBC.CDL.Constants"}},{"extends_clause":{"name":"Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset","class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"duration","modification":{"equal":true,"expression":{"simple_expression":"300"}}}}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","component_list":[{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","component_list":[{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}}]}}],"element_sections":[{"protected_element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","component_list":[{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}}]}}]}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/ExtendsClause_3.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo","checksum":"b02cd5e98ba615b7c5b31a856c35c2b8"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "ExtendsClause_3", + "description_string": "model with extends clause", + "composition": { + "element_list": [ + { + "extends_clause": { + "name": "Buildings.Controls.OBC.CDL.Constants" + } + }, + { + "extends_clause": { + "name": "Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset", + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "duration", + "modification": { + "equal": true, + "expression": { + "simple_expression": "300" + } + } + } + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "component_list": [ + { + "declaration": { + "identifier": "gain", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Constant gain", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": -50 + }, + { + "x": -40, + "y": -30 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Modelica.SIunits.Length", + "component_list": [ + { + "declaration": { + "identifier": "length" + }, + "description": { + "description_string": "Length of the pipe" + } + } + ] + } + } + ], + "element_sections": [ + { + "protected_element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Modelica.SIunits.Area", + "component_list": [ + { + "declaration": { + "identifier": "ARound", + "modification": { + "equal": true, + "expression": { + "simple_expression": "dh^2*Modelica.Constants.pi/4" + } + } + }, + "description": { + "description_string": "Cross sectional area (assuming a round cross section area)" + } + } + ] + } + } + ] + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"res\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\ntest...test...test...test...test...\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\ntest...test...test...\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/ExtendsClause_3.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo", + "checksum": "b02cd5e98ba615b7c5b31a856c35c2b8" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/MisplacedInfoWithComponent.json b/test/reference/json/test/FromModelica/MisplacedInfoWithComponent.json index 2e8d9eea..15837a7a 100644 --- a/test/reference/json/test/FromModelica/MisplacedInfoWithComponent.json +++ b/test/reference/json/test/FromModelica/MisplacedInfoWithComponent.json @@ -1 +1,62 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"MisplacedInfoWithComponent","description_string":"A block that places info section in component annotation","composition":{"element_list":[{"component_clause":{"type_specifier":"Block1","component_list":[{"declaration":{"identifier":"bloPub"},"description":{"description_string":"A public block","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}}]}}]}}}}],"modelicaFile":"test/FromModelica/MisplacedInfoWithComponent.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo","checksum":"281aad05f29e1c0dbe664b7fd994584b"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "MisplacedInfoWithComponent", + "description_string": "A block that places info section in component annotation", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Block1", + "component_list": [ + { + "declaration": { + "identifier": "bloPub" + }, + "description": { + "description_string": "A public block", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis is the info section.\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/MisplacedInfoWithComponent.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo", + "checksum": "281aad05f29e1c0dbe664b7fd994584b" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/MisplacedInfoWithEquation.json b/test/reference/json/test/FromModelica/MisplacedInfoWithEquation.json index 922bc5f6..c995147b 100644 --- a/test/reference/json/test/FromModelica/MisplacedInfoWithEquation.json +++ b/test/reference/json/test/FromModelica/MisplacedInfoWithEquation.json @@ -1 +1,365 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"MisplacedInfoWithEquation","description_string":"A block that places info section in equation section","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}},"description":{"description_string":"Constant gain"}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u"},"description":{"description_string":"Input signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y1"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y2"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","component_list":[{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":0,"y":-10},{"x":20,"y":10}]}}}}}]}}]}}],"element_sections":[{"equation_section":{"equation":[{"connect_clause":{"from":[{"dot_op":false,"identifier":"u"}],"to":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":0},{"x":-2,"y":0}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"y1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":22,"y":0},{"x":110,"y":0}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"assignment_equation":{"lhs":"y2","rhs":{"simple_expression":"k*u"}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nBlock that outputs y = 2 * u.\n

\n\""}}}}}]}}}}]}}]}}]}}}}],"modelicaFile":"test/FromModelica/MisplacedInfoWithEquation.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo","checksum":"8fb1bb97ff8f9749ff975e699fc5f359"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "MisplacedInfoWithEquation", + "description_string": "A block that places info section in equation section", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "2" + } + } + }, + "description": { + "description_string": "Constant gain" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y1" + }, + "description": { + "description_string": "Output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -10 + }, + { + "x": 120, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y2" + }, + "description": { + "description_string": "Output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -10 + }, + { + "x": 120, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "component_list": [ + { + "declaration": { + "identifier": "gain", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Constant gain", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 0, + "y": -10 + }, + { + "x": 20, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "gain" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": 0 + }, + { + "x": -2, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "gain" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "y1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 22, + "y": 0 + }, + { + "x": 110, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "assignment_equation": { + "lhs": "y2", + "rhs": { + "simple_expression": "k*u" + } + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs y = 2 * u.\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/MisplacedInfoWithEquation.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo", + "checksum": "8fb1bb97ff8f9749ff975e699fc5f359" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/MisplacedInfoWithParameter.json b/test/reference/json/test/FromModelica/MisplacedInfoWithParameter.json index 58207f21..02c39fbe 100644 --- a/test/reference/json/test/FromModelica/MisplacedInfoWithParameter.json +++ b/test/reference/json/test/FromModelica/MisplacedInfoWithParameter.json @@ -1 +1,69 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"MisplacedInfoWithParameter","description_string":"A block that places info section in parameter annotation","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}}]}}]}}}}],"modelicaFile":"test/FromModelica/MisplacedInfoWithParameter.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo","checksum":"c204c4aff17fd78827ce77399626da43"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "MisplacedInfoWithParameter", + "description_string": "A block that places info section in parameter annotation", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "kP", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis is the info section.\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/MisplacedInfoWithParameter.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo", + "checksum": "c204c4aff17fd78827ce77399626da43" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/MyController.json b/test/reference/json/test/FromModelica/MyController.json index a500e961..a656b24a 100644 --- a/test/reference/json/test/FromModelica/MyController.json +++ b/test/reference/json/test/FromModelica/MyController.json @@ -1 +1,948 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"MyController","description_string":"My controller","composition":{"element_list":[{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","component_list":[{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}}]}},{"component_clause":{"type_specifier":"SubController","component_list":[{"declaration":{"identifier":"subCon1"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"SubController","component_list":[{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}}]}}],"element_sections":[{"equation_section":{"equation":[{"connect_clause":{"from":[{"dot_op":false,"identifier":"u1"}],"to":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":40},{"x":-60,"y":40},{"x":-60,"y":6},{"x":-12,"y":6}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-60,"y":-40},{"x":-60,"y":-6},{"x":-12,"y":-6}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"y"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":12,"y":0},{"x":120,"y":0}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"subCon1"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-12,"y":-40}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"subCon2"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-60,"y":-40},{"x":-60,"y":-80},{"x":-12,"y":-80}],"color":{"r":0,"g":0,"b":127}}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/MyController.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo","checksum":"d8525177795dcf71b5b5440c2151224a"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "MyController", + "description_string": "My controller", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u1" + }, + "description": { + "description_string": "Real input 1", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u2" + }, + "description": { + "description_string": "Real input 2", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -60 + }, + { + "x": -100, + "y": -20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Real output", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", + "component_list": [ + { + "declaration": { + "identifier": "add2" + }, + "description": { + "description_string": "Add two real inputs", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -10 + }, + { + "x": 10, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "SubController", + "component_list": [ + { + "declaration": { + "identifier": "subCon1" + }, + "description": { + "description_string": "Sub controller", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -50 + }, + { + "x": 10, + "y": -30 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "SubController", + "component_list": [ + { + "declaration": { + "identifier": "subCon2" + }, + "description": { + "description_string": "Sub controller", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -90 + }, + { + "x": 10, + "y": -70 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "add2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": 40 + }, + { + "x": -60, + "y": 40 + }, + { + "x": -60, + "y": 6 + }, + { + "x": -12, + "y": 6 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "add2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": -40 + }, + { + "x": -60, + "y": -40 + }, + { + "x": -60, + "y": -6 + }, + { + "x": -12, + "y": -6 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "add2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 12, + "y": 0 + }, + { + "x": 120, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "subCon1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": -40 + }, + { + "x": -12, + "y": -40 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "subCon2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": -40 + }, + { + "x": -60, + "y": -40 + }, + { + "x": -60, + "y": -80 + }, + { + "x": -12, + "y": -80 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "controlledDevice", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"My Device\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"myCon\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": 140 + } + ], + "textString": "\"%name\"", + "lineColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/MyController.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo", + "checksum": "d8525177795dcf71b5b5440c2151224a" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/MyControllerWithExportAnnotation1.json b/test/reference/json/test/FromModelica/MyControllerWithExportAnnotation1.json index 10b71122..dd04eea3 100644 --- a/test/reference/json/test/FromModelica/MyControllerWithExportAnnotation1.json +++ b/test/reference/json/test/FromModelica/MyControllerWithExportAnnotation1.json @@ -1 +1,1035 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"MyControllerWithExportAnnotation1","description_string":"My controller with export annotation in 1 CDL block","composition":{"element_list":[{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","component_list":[{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}}]}},{"component_clause":{"type_specifier":"SubController","component_list":[{"declaration":{"identifier":"subCon1"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"export","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"SubController","component_list":[{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}}]}}],"element_sections":[{"equation_section":{"equation":[{"connect_clause":{"from":[{"dot_op":false,"identifier":"u1"}],"to":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":40},{"x":-60,"y":40},{"x":-60,"y":6},{"x":-12,"y":6}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-60,"y":-40},{"x":-60,"y":-6},{"x":-12,"y":-6}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"y"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":12,"y":0},{"x":120,"y":0}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"subCon1"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-12,"y":-40}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"subCon2"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-60,"y":-40},{"x":-60,"y":-80},{"x":-12,"y":-80}],"color":{"r":0,"g":0,"b":127}}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device2\""}}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/MyControllerWithExportAnnotation1.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo","checksum":"f97d817f9acd902b0ffba91a3112781e"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "MyControllerWithExportAnnotation1", + "description_string": "My controller with export annotation in 1 CDL block", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u1" + }, + "description": { + "description_string": "Real input 1", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u2" + }, + "description": { + "description_string": "Real input 2", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -60 + }, + { + "x": -100, + "y": -20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Real output", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", + "component_list": [ + { + "declaration": { + "identifier": "add2" + }, + "description": { + "description_string": "Add two real inputs", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -10 + }, + { + "x": 10, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "SubController", + "component_list": [ + { + "declaration": { + "identifier": "subCon1" + }, + "description": { + "description_string": "Sub controller", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -50 + }, + { + "x": 10, + "y": -30 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "export", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "SubController", + "component_list": [ + { + "declaration": { + "identifier": "subCon2" + }, + "description": { + "description_string": "Sub controller", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -90 + }, + { + "x": 10, + "y": -70 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "add2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": 40 + }, + { + "x": -60, + "y": 40 + }, + { + "x": -60, + "y": 6 + }, + { + "x": -12, + "y": 6 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "add2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": -40 + }, + { + "x": -60, + "y": -40 + }, + { + "x": -60, + "y": -6 + }, + { + "x": -12, + "y": -6 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "add2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 12, + "y": 0 + }, + { + "x": 120, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "subCon1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": -40 + }, + { + "x": -12, + "y": -40 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "subCon2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": -40 + }, + { + "x": -60, + "y": -40 + }, + { + "x": -60, + "y": -80 + }, + { + "x": -12, + "y": -80 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "propagate", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "instance", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"subCon2\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "controlledDevice", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"My Device\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "propagate", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "instance", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"subCon1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "false" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "controlledDevice", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"My Device2\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"myCon\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": 140 + } + ], + "textString": "\"%name\"", + "lineColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/MyControllerWithExportAnnotation1.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo", + "checksum": "f97d817f9acd902b0ffba91a3112781e" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/MyControllerWithSemantics.json b/test/reference/json/test/FromModelica/MyControllerWithSemantics.json index 94a697c2..83df4389 100644 --- a/test/reference/json/test/FromModelica/MyControllerWithSemantics.json +++ b/test/reference/json/test/FromModelica/MyControllerWithSemantics.json @@ -1 +1,1076 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"MyControllerWithSemantics","description_string":"My controller with semantics","composition":{"element_list":[{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Temperature_Sensor ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","component_list":[{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}}]}},{"component_clause":{"type_specifier":"SubController","component_list":[{"declaration":{"identifier":"heaCoi"},"description":{"description_string":"Heating Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Heating_Coil ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a heating coil."}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"SubControllerWithSemantics","component_list":[{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Cooling Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}}]}}],"element_sections":[{"equation_section":{"equation":[{"connect_clause":{"from":[{"dot_op":false,"identifier":"u1"}],"to":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":40},{"x":-60,"y":40},{"x":-60,"y":6},{"x":-12,"y":6}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-60,"y":-40},{"x":-60,"y":-6},{"x":-12,"y":-6}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"add2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"y"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":12,"y":0},{"x":120,"y":0}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"heaCoi"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-12,"y":-40}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"subCon2"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-40},{"x":-60,"y":-40},{"x":-60,"y":-80},{"x":-12,"y":-80}],"color":{"r":0,"g":0,"b":127}}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . "}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/MyControllerWithSemantics.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo","checksum":"b95835e212fdb0daca282b55acf9e1bf"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "MyControllerWithSemantics", + "description_string": "My controller with semantics", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u1" + }, + "description": { + "description_string": "Real input 1", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "semantic", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "metadataLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Brick 1.3 text/turtle\"" + } + }, + "description_string": "bldg: a Brick:Temperature_Sensor ." + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "naturalLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"en\"" + } + }, + "description_string": " is a temperature sensor input" + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u2" + }, + "description": { + "description_string": "Real input 2", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -60 + }, + { + "x": -100, + "y": -20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "semantic", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "naturalLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"en\"" + } + }, + "description_string": " is a temperature sensor input" + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Real output", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", + "component_list": [ + { + "declaration": { + "identifier": "add2" + }, + "description": { + "description_string": "Add two real inputs", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -10 + }, + { + "x": 10, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "SubController", + "component_list": [ + { + "declaration": { + "identifier": "heaCoi" + }, + "description": { + "description_string": "Heating Coil", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -50 + }, + { + "x": 10, + "y": -30 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "semantic", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "metadataLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Brick 1.3 text/turtle\"" + } + }, + "description_string": "bldg: a Brick:Heating_Coil ." + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "naturalLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"en\"" + } + }, + "description_string": " is a heating coil." + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "SubControllerWithSemantics", + "component_list": [ + { + "declaration": { + "identifier": "subCon2" + }, + "description": { + "description_string": "Cooling Coil", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -90 + }, + { + "x": 10, + "y": -70 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "add2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": 40 + }, + { + "x": -60, + "y": 40 + }, + { + "x": -60, + "y": 6 + }, + { + "x": -12, + "y": 6 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "add2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": -40 + }, + { + "x": -60, + "y": -40 + }, + { + "x": -60, + "y": -6 + }, + { + "x": -12, + "y": -6 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "add2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 12, + "y": 0 + }, + { + "x": 120, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "heaCoi" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": -40 + }, + { + "x": -12, + "y": -40 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "subCon2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": -40 + }, + { + "x": -60, + "y": -40 + }, + { + "x": -60, + "y": -80 + }, + { + "x": -12, + "y": -80 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "controlledDevice", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"My Device\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "semantic", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "metadataLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Brick 1.3 text/turtle\"" + } + }, + "description_string": "@prefix Brick: .\n @prefix bldg: . " + } + } + } + ] + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"myCon\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": 140 + } + ], + "textString": "\"%name\"", + "lineColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/MyControllerWithSemantics.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo", + "checksum": "b95835e212fdb0daca282b55acf9e1bf" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/NoClassComment.json b/test/reference/json/test/FromModelica/NoClassComment.json index 894da52e..bc20d6c6 100644 --- a/test/reference/json/test/FromModelica/NoClassComment.json +++ b/test/reference/json/test/FromModelica/NoClassComment.json @@ -1 +1,42 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"NoClassComment","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}}]}}]}}}}],"modelicaFile":"test/FromModelica/NoClassComment.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo","checksum":"bc50f3b9de57424453c131ccb74edd18"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "NoClassComment", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "kP", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment" + } + } + ] + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/NoClassComment.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo", + "checksum": "bc50f3b9de57424453c131ccb74edd18" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/NoWithin.json b/test/reference/json/test/FromModelica/NoWithin.json index 303fa7bc..a944a5c4 100644 --- a/test/reference/json/test/FromModelica/NoWithin.json +++ b/test/reference/json/test/FromModelica/NoWithin.json @@ -1 +1,42 @@ -{"class_definition":[{"class_prefixes":"package","class_specifier":{"long_class_specifier":{"identifier":"FromModelica","description_string":"Package with test models","composition":{"element_list":[{"component_clause":{"type_prefix":"constant","type_specifier":"Integer","component_list":[{"declaration":{"identifier":"one","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"An integer constant with value 1"}}]}}]}}}}],"modelicaFile":"test/FromModelica/NoWithin.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo","checksum":"6946b4805e8b2df0d49bf78a3b7dcbf1"} \ No newline at end of file +{ + "class_definition": [ + { + "class_prefixes": "package", + "class_specifier": { + "long_class_specifier": { + "identifier": "FromModelica", + "description_string": "Package with test models", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "constant", + "type_specifier": "Integer", + "component_list": [ + { + "declaration": { + "identifier": "one", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "An integer constant with value 1" + } + } + ] + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/NoWithin.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo", + "checksum": "6946b4805e8b2df0d49bf78a3b7dcbf1" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/Parameter1.json b/test/reference/json/test/FromModelica/Parameter1.json index c0ef24e2..71f6ed28 100644 --- a/test/reference/json/test/FromModelica/Parameter1.json +++ b/test/reference/json/test/FromModelica/Parameter1.json @@ -1 +1,43 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"Parameter1","description_string":"Some class comment","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}}]}}]}}}}],"modelicaFile":"test/FromModelica/Parameter1.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo","checksum":"0e923225decf43f3a5d2909de067020a"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Parameter1", + "description_string": "Some class comment", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "kP", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment" + } + } + ] + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/Parameter1.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo", + "checksum": "0e923225decf43f3a5d2909de067020a" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/Parameter1WithVendorAnnotation.json b/test/reference/json/test/FromModelica/Parameter1WithVendorAnnotation.json index 1358d3f9..b7c76878 100644 --- a/test/reference/json/test/FromModelica/Parameter1WithVendorAnnotation.json +++ b/test/reference/json/test/FromModelica/Parameter1WithVendorAnnotation.json @@ -1 +1,95 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"Parameter1WithVendorAnnotation","description_string":"Some class comment","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}}]}}]}}]}}}}],"modelicaFile":"test/FromModelica/Parameter1WithVendorAnnotation.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo","checksum":"0989e7e5efae6c250452ffe516f27b6a"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Parameter1WithVendorAnnotation", + "description_string": "Some class comment", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "kP", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "haystack", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "brick", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"xxxxx\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "point", + "modification": { + "equal": true, + "expression": { + "simple_expression": "digital" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/Parameter1WithVendorAnnotation.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo", + "checksum": "0989e7e5efae6c250452ffe516f27b6a" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/Parameter2.json b/test/reference/json/test/FromModelica/Parameter2.json index 3edf68a5..d7c1a2ac 100644 --- a/test/reference/json/test/FromModelica/Parameter2.json +++ b/test/reference/json/test/FromModelica/Parameter2.json @@ -1 +1,352 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"Parameter2","description_string":"Some class comment","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"myPar1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"myParNoValue"},"description":{"description_string":"Some comment"}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"myParMin","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}]}},"description":{"description_string":"Some comment"}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"myParMax","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}]}},"description":{"description_string":"Some comment"}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"myParUnit","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}}]}},"description":{"description_string":"Some comment"}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"myParInGroup"},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Gains\""}}}}}]}}}}]}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"myParInTab"},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}}]}}}}]}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"myParInTabInGroup1"},"description":{"description_string":"Some comment 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}]}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"myParInTabInGroup2"},"description":{"description_string":"Some comment 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}]}}]}}]}}}}],"modelicaFile":"test/FromModelica/Parameter2.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo","checksum":"f32d29f67c0b2c67f8d9d1cc431a9a7a"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Parameter2", + "description_string": "Some class comment", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "myPar1", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "myParNoValue" + }, + "description": { + "description_string": "Some comment" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "myParMin", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Some comment" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "myParMax", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Some comment" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "myParUnit", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Some comment" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "myParInGroup" + }, + "description": { + "description_string": "Some comment", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Gains\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "myParInTab" + }, + "description": { + "description_string": "Some comment", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initialization tab\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "myParInTabInGroup1" + }, + "description": { + "description_string": "Some comment 1", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initialization tab\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initial state\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "myParInTabInGroup2" + }, + "description": { + "description_string": "Some comment 2", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initialization tab\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initial state\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/Parameter2.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo", + "checksum": "f32d29f67c0b2c67f8d9d1cc431a9a7a" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/Parameter3.json b/test/reference/json/test/FromModelica/Parameter3.json index 4e6e9206..51d60fea 100644 --- a/test/reference/json/test/FromModelica/Parameter3.json +++ b/test/reference/json/test/FromModelica/Parameter3.json @@ -1 +1,59 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"Parameter3","description_string":"Some class comment","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"myPar1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Temperature","component_list":[{"declaration":{"identifier":"myParUnit"},"description":{"description_string":"Some comment"}}]}}]}}}}],"modelicaFile":"test/FromModelica/Parameter3.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo","checksum":"501764c45f288d6fc10f2033200915fe"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "Parameter3", + "description_string": "Some class comment", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "myPar1", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Modelica.SIunits.Temperature", + "component_list": [ + { + "declaration": { + "identifier": "myParUnit" + }, + "description": { + "description_string": "Some comment" + } + } + ] + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/Parameter3.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo", + "checksum": "501764c45f288d6fc10f2033200915fe" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/ParameterWithAttributes.json b/test/reference/json/test/FromModelica/ParameterWithAttributes.json index 9f15a5d0..7d5c622c 100644 --- a/test/reference/json/test/FromModelica/ParameterWithAttributes.json +++ b/test/reference/json/test/FromModelica/ParameterWithAttributes.json @@ -1 +1,175 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"ParameterWithAttributes","description_string":"Some class comment","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"kP","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"start","modification":{"equal":true,"expression":{"simple_expression":"0.2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"fixed","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"PressureDifference\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"Pa\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"nominal","modification":{"equal":true,"expression":{"simple_expression":"0.5"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"stateSelect","modification":{"equal":true,"expression":{"simple_expression":"StateSelect.default"}}}}}],"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/ParameterWithAttributes.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo","checksum":"eb2254fd49d797804e87f15abe4f5f90"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "ParameterWithAttributes", + "description_string": "Some class comment", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "kP", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "start", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0.2" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "fixed", + "modification": { + "equal": true, + "expression": { + "simple_expression": "false" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "2" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"PressureDifference\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Pa\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "nominal", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0.5" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "stateSelect", + "modification": { + "equal": true, + "expression": { + "simple_expression": "StateSelect.default" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment" + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis is the info section.\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/ParameterWithAttributes.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo", + "checksum": "eb2254fd49d797804e87f15abe4f5f90" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/ParameterWithDefaultName.json b/test/reference/json/test/FromModelica/ParameterWithDefaultName.json index a71da5bb..d50ebc46 100644 --- a/test/reference/json/test/FromModelica/ParameterWithDefaultName.json +++ b/test/reference/json/test/FromModelica/ParameterWithDefaultName.json @@ -1 +1,82 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"ParameterWithDefaultName","description_string":"Some class comment","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"testName\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/ParameterWithDefaultName.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo","checksum":"5f503f9e0a1faba6be8d40bf8b47b17a"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "ParameterWithDefaultName", + "description_string": "Some class comment", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "kP", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment" + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"testName\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis is the info section.\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/ParameterWithDefaultName.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo", + "checksum": "5f503f9e0a1faba6be8d40bf8b47b17a" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/ParameterWithInfo.json b/test/reference/json/test/FromModelica/ParameterWithInfo.json index ab33e03f..44c806fe 100644 --- a/test/reference/json/test/FromModelica/ParameterWithInfo.json +++ b/test/reference/json/test/FromModelica/ParameterWithInfo.json @@ -1 +1,69 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"ParameterWithInfo","description_string":"Some class comment","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/ParameterWithInfo.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo","checksum":"fa8ebd448412a8412c3e7c9a5e435b54"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "ParameterWithInfo", + "description_string": "Some class comment", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "kP", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment" + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis is the info section.\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/ParameterWithInfo.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo", + "checksum": "fa8ebd448412a8412c3e7c9a5e435b54" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/ParameterWithVendorAnnotationInInfo.json b/test/reference/json/test/FromModelica/ParameterWithVendorAnnotationInInfo.json index 10c3f620..d9eb8ad1 100644 --- a/test/reference/json/test/FromModelica/ParameterWithVendorAnnotationInInfo.json +++ b/test/reference/json/test/FromModelica/ParameterWithVendorAnnotationInInfo.json @@ -1 +1,119 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"ParameterWithVendorAnnotationInInfo","description_string":"Some class comment","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/ParameterWithVendorAnnotationInInfo.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo","checksum":"83588dec36f54d69b94596dffb0570c6"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "ParameterWithVendorAnnotationInInfo", + "description_string": "Some class comment", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "kP", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment" + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "haystack", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "brick", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"xxxxx\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "point", + "modification": { + "equal": true, + "expression": { + "simple_expression": "digital" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis is the info section.\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/ParameterWithVendorAnnotationInInfo.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo", + "checksum": "83588dec36f54d69b94596dffb0570c6" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/PointList.json b/test/reference/json/test/FromModelica/PointList.json index 31fd35ce..08e80fe9 100644 --- a/test/reference/json/test/FromModelica/PointList.json +++ b/test/reference/json/test/FromModelica/PointList.json @@ -1 +1,1260 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"PointList","description_string":"Block demonstrating point list generation","composition":{"element_list":[{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u1"},"description":{"description_string":"Input one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u2"},"description":{"description_string":"Input two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y1"},"description":{"description_string":"Output one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]},"iconTransformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y2"},"description":{"description_string":"Output two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]},"iconTransformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"MyController","component_list":[{"declaration":{"identifier":"con1"},"description":{"description_string":"Subcontroller one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2.u\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":50},{"x":10,"y":70}]}}}}}]}}]}},{"component_clause":{"type_specifier":"MyController","component_list":[{"declaration":{"identifier":"con2"},"description":{"description_string":"Subcontroller two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-70},{"x":10,"y":-50}]}}}}}]}}]}}],"element_sections":[{"equation_section":{"equation":[{"connect_clause":{"from":[{"dot_op":false,"identifier":"u1"}],"to":[{"dot_op":false,"identifier":"con1"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":60},{"x":-80,"y":60},{"x":-80,"y":66},{"x":-12,"y":66}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u1"}],"to":[{"dot_op":false,"identifier":"con2"},{"dot_op":true},{"dot_op":false,"identifier":"u1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":60},{"x":-80,"y":60},{"x":-80,"y":-54},{"x":-12,"y":-54}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"con1"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-60},{"x":-60,"y":-60},{"x":-60,"y":54},{"x":-12,"y":54}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"u2"}],"to":[{"dot_op":false,"identifier":"con2"},{"dot_op":true},{"dot_op":false,"identifier":"u2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-120,"y":-60},{"x":-60,"y":-60},{"x":-60,"y":-66},{"x":-12,"y":-66}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"con1"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"y2"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":12,"y":60},{"x":120,"y":60}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"con2"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"y1"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":12,"y":-60},{"x":120,"y":-60}],"color":{"r":0,"g":0,"b":127}}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Test device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"poiLis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/PointList.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo","checksum":"a338cdddb4ffca9427753c7e548c9913"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "PointList", + "description_string": "Block demonstrating point list generation", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u1" + }, + "description": { + "description_string": "Input one", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u2" + }, + "description": { + "description_string": "Input two", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "false" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "120" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y1" + }, + "description": { + "description_string": "Output one", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -80 + }, + { + "x": 140, + "y": -40 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": 40 + }, + { + "x": 140, + "y": 80 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y2" + }, + "description": { + "description_string": "Output two", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": 40 + }, + { + "x": 140, + "y": 80 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -80 + }, + { + "x": 140, + "y": -40 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "false" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "MyController", + "component_list": [ + { + "declaration": { + "identifier": "con1" + }, + "description": { + "description_string": "Subcontroller one", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "propagate", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "instance", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"subCon1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "propagate", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "instance", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"subCon2\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "propagate", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "instance", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"subCon2.u\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "120" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": 50 + }, + { + "x": 10, + "y": 70 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "MyController", + "component_list": [ + { + "declaration": { + "identifier": "con2" + }, + "description": { + "description_string": "Subcontroller two", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -70 + }, + { + "x": 10, + "y": -50 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "con1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": 60 + }, + { + "x": -80, + "y": 60 + }, + { + "x": -80, + "y": 66 + }, + { + "x": -12, + "y": 66 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "con2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": 60 + }, + { + "x": -80, + "y": 60 + }, + { + "x": -80, + "y": -54 + }, + { + "x": -12, + "y": -54 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "con1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": -60 + }, + { + "x": -60, + "y": -60 + }, + { + "x": -60, + "y": 54 + }, + { + "x": -12, + "y": 54 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "con2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -120, + "y": -60 + }, + { + "x": -60, + "y": -60 + }, + { + "x": -60, + "y": -66 + }, + { + "x": -12, + "y": -66 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "con1" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "y2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 12, + "y": 60 + }, + { + "x": 120, + "y": 60 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "con2" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "y1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 12, + "y": -60 + }, + { + "x": 120, + "y": -60 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "controlledDevice", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Test device\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"poiLis\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": 140 + } + ], + "textString": "\"%name\"", + "lineColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/PointList.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo", + "checksum": "a338cdddb4ffca9427753c7e548c9913" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/RemovableInputs.json b/test/reference/json/test/FromModelica/RemovableInputs.json index b0cd12c9..bac4a75e 100644 --- a/test/reference/json/test/FromModelica/RemovableInputs.json +++ b/test/reference/json/test/FromModelica/RemovableInputs.json @@ -1 +1,508 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"RemovableInputs","description_string":"A block with a flag for disabling instances","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Boolean","component_list":[{"declaration":{"identifier":"enaBlo","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Flag for enabling instance"}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Boolean","component_list":[{"declaration":{"identifier":"have_winSen"},"description":{"description_string":"True: there is window status sensor"}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Boolean","component_list":[{"declaration":{"identifier":"have_occSen"},"description":{"description_string":"True: there is occupancy sensor"}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u"},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Temperature input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"TOutWitDef","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Temperature input with specified default value","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-70},{"x":-100,"y":-30}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"default","modification":{"equal":true,"expression":{"simple_expression":"300.15"}}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","component_list":[{"declaration":{"identifier":"uWin"},"condition_attribute":{"expression":{"simple_expression":"have_winSen"}},"description":{"description_string":"Window opening status","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-100},{"x":-100,"y":-60}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","component_list":[{"declaration":{"identifier":"nOcc"},"condition_attribute":{"expression":{"simple_expression":"have_occSen"}},"description":{"description_string":"Occupancy","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Abs","component_list":[{"declaration":{"identifier":"abs"},"condition_attribute":{"expression":{"simple_expression":"not enaBlo"}},"description":{"description_string":"Instance could be conditional disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}}]}}]}}}}],"modelicaFile":"test/FromModelica/RemovableInputs.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo","checksum":"0ad0836b65686a2dae007fb577135389"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "RemovableInputs", + "description_string": "A block with a flag for disabling instances", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "enaBlo", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + }, + "description": { + "description_string": "Flag for enabling instance" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "have_winSen" + }, + "description": { + "description_string": "True: there is window status sensor" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "have_occSen" + }, + "description": { + "description_string": "True: there is occupancy sensor" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "condition_attribute": { + "expression": { + "simple_expression": "enaBlo" + } + }, + "description": { + "description_string": "Input connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -40 + }, + { + "x": -100, + "y": 0 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "TOut", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"ThermodynamicTemperature\"" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "enaBlo" + } + }, + "description": { + "description_string": "Temperature input", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "TOutWitDef", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"ThermodynamicTemperature\"" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "enaBlo" + } + }, + "description": { + "description_string": "Temperature input with specified default value", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -70 + }, + { + "x": -100, + "y": -30 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "default", + "modification": { + "equal": true, + "expression": { + "simple_expression": "300.15" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", + "component_list": [ + { + "declaration": { + "identifier": "uWin" + }, + "condition_attribute": { + "expression": { + "simple_expression": "have_winSen" + } + }, + "description": { + "description_string": "Window opening status", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -100 + }, + { + "x": -100, + "y": -60 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -110 + }, + { + "x": -100, + "y": -70 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.IntegerInput", + "component_list": [ + { + "declaration": { + "identifier": "nOcc" + }, + "condition_attribute": { + "expression": { + "simple_expression": "have_occSen" + } + }, + "description": { + "description_string": "Occupancy", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 60 + }, + { + "x": -100, + "y": 100 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 60 + }, + { + "x": -100, + "y": 100 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Output connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -10 + }, + { + "x": 120, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Abs", + "component_list": [ + { + "declaration": { + "identifier": "abs" + }, + "condition_attribute": { + "expression": { + "simple_expression": "not enaBlo" + } + }, + "description": { + "description_string": "Instance could be conditional disabled", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -8, + "y": -10 + }, + { + "x": 12, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/RemovableInputs.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo", + "checksum": "0ad0836b65686a2dae007fb577135389" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/SubController.json b/test/reference/json/test/FromModelica/SubController.json index 5f57f3e8..732ed62b 100644 --- a/test/reference/json/test/FromModelica/SubController.json +++ b/test/reference/json/test/FromModelica/SubController.json @@ -1 +1,410 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"SubController","description_string":"Subsequence","composition":{"element_list":[{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Sub Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"subCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/SubController.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo","checksum":"38c289724f1c7e4b77eaf836a931110c"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "SubController", + "description_string": "Subsequence", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Real input", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Real output", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "controlledDevice", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Sub Device\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"subCon\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": 140 + } + ], + "textString": "\"%name\"", + "lineColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/SubController.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo", + "checksum": "38c289724f1c7e4b77eaf836a931110c" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/SubControllerWithSemantics.json b/test/reference/json/test/FromModelica/SubControllerWithSemantics.json index 2cbecb03..fd7049a7 100644 --- a/test/reference/json/test/FromModelica/SubControllerWithSemantics.json +++ b/test/reference/json/test/FromModelica/SubControllerWithSemantics.json @@ -1 +1,446 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"SubControllerWithSemantics","description_string":"Subsequence with class definition Semantics","composition":{"element_list":[{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Sub Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"subCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . "}}}]}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/SubControllerWithSemantics.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo","checksum":"4bf6e54db7eee06827ce2fb950e39cd8"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "SubControllerWithSemantics", + "description_string": "Subsequence with class definition Semantics", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Real input", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Real output", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "controlledDevice", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Sub Device\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"subCon\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": 140 + } + ], + "textString": "\"%name\"", + "lineColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "semantic", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "metadataLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Brick 1.3 text/turtle\"" + } + }, + "description_string": "@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . " + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/SubControllerWithSemantics.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo", + "checksum": "4bf6e54db7eee06827ce2fb950e39cd8" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/TestEvaluation_1.json b/test/reference/json/test/FromModelica/TestEvaluation_1.json index ef5672f1..75846681 100644 --- a/test/reference/json/test/FromModelica/TestEvaluation_1.json +++ b/test/reference/json/test/FromModelica/TestEvaluation_1.json @@ -1 +1,174 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"TestEvaluation_1","description_string":"Example for real parameter evaluation","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"k1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Constant output value"}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Sources.Constant","component_list":[{"declaration":{"identifier":"con","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k1"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":10},{"x":0,"y":30}]}}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uses","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"Buildings","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"version","modification":{"equal":true,"expression":{"simple_expression":"\"8.0.0\""}}}}}]}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/TestEvaluation_1.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo","checksum":"bf147a62dc44e57d4b3b06a8e34bc086"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "TestEvaluation_1", + "description_string": "Example for real parameter evaluation", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "k1", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Constant output value" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", + "component_list": [ + { + "declaration": { + "identifier": "con", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k1" + } + } + } + } + } + ] + } + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -20, + "y": 10 + }, + { + "x": 0, + "y": 30 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "uses", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Buildings", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "version", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"8.0.0\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/TestEvaluation_1.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo", + "checksum": "bf147a62dc44e57d4b3b06a8e34bc086" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/TestEvaluation_2.json b/test/reference/json/test/FromModelica/TestEvaluation_2.json index 9a5edcbc..674bfa7a 100644 --- a/test/reference/json/test/FromModelica/TestEvaluation_2.json +++ b/test/reference/json/test/FromModelica/TestEvaluation_2.json @@ -1 +1,430 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"TestEvaluation_2","description_string":"Example for real parameter evaluation","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"uLow","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}],"equal":true,"expression":{"simple_expression":"0.5"}}},"description":{"description_string":"if y=true and uuHigh, switch to y=true"}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u"},"description":{"description_string":"Real input signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-118,"y":-20},{"x":-78,"y":20}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput","component_list":[{"declaration":{"identifier":"y"},"description":{"description_string":"Boolean output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":80,"y":-20},{"x":120,"y":20}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Hysteresis","component_list":[{"declaration":{"identifier":"hys","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"uLow"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"uHigh"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}}]}}],"element_sections":[{"equation_section":{"equation":[{"connect_clause":{"from":[{"dot_op":false,"identifier":"hys"},{"dot_op":true},{"dot_op":false,"identifier":"u"}],"to":[{"dot_op":false,"identifier":"u"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-12,"y":0},{"x":-120,"y":0}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"hys"},{"dot_op":true},{"dot_op":false,"identifier":"y"}],"to":[{"dot_op":false,"identifier":"y"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":12,"y":0},{"x":120,"y":0}],"color":{"r":255,"g":0,"b":255}}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uses","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"Buildings","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"version","modification":{"equal":true,"expression":{"simple_expression":"\"8.0.0\""}}}}}]}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/TestEvaluation_2.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo","checksum":"0066d59559e31ba7d1bdb2f1708587b6"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "TestEvaluation_2", + "description_string": "Example for real parameter evaluation", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "uLow", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "0.5" + } + } + }, + "description": { + "description_string": "if y=true and uuHigh, switch to y=true" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Real input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -118, + "y": -20 + }, + { + "x": -78, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Boolean output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 80, + "y": -20 + }, + { + "x": 120, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Hysteresis", + "component_list": [ + { + "declaration": { + "identifier": "hys", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "uLow", + "modification": { + "equal": true, + "expression": { + "simple_expression": "uLow" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "uHigh", + "modification": { + "equal": true, + "expression": { + "simple_expression": "uHigh" + } + } + } + } + } + ] + } + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -10 + }, + { + "x": 10, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "hys" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -12, + "y": 0 + }, + { + "x": -120, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "hys" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "y" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 12, + "y": 0 + }, + { + "x": 120, + "y": 0 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "uses", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Buildings", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "version", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"8.0.0\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/TestEvaluation_2.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo", + "checksum": "0066d59559e31ba7d1bdb2f1708587b6" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/TestEvaluation_3.json b/test/reference/json/test/FromModelica/TestEvaluation_3.json index a12a1a49..d62c7257 100644 --- a/test/reference/json/test/FromModelica/TestEvaluation_3.json +++ b/test/reference/json/test/FromModelica/TestEvaluation_3.json @@ -1 +1,217 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"TestEvaluation_3","description_string":"Example for boolean parameter evaluation","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Boolean","component_list":[{"declaration":{"identifier":"k1","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Constant output value"}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Boolean","component_list":[{"declaration":{"identifier":"k2","modification":{"equal":true,"expression":{"simple_expression":"not k1"}}}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","component_list":[{"declaration":{"identifier":"con","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k2"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"not k1"}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":10},{"x":10,"y":30}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","component_list":[{"declaration":{"identifier":"con1","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k1"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-30},{"x":12,"y":-10}]}}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/TestEvaluation_3.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo","checksum":"a5e1a1f6126e2aa9474451639d6d6b01"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "TestEvaluation_3", + "description_string": "Example for boolean parameter evaluation", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "k1", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + }, + "description": { + "description_string": "Constant output value" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "component_list": [ + { + "declaration": { + "identifier": "k2", + "modification": { + "equal": true, + "expression": { + "simple_expression": "not k1" + } + } + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Sources.Constant", + "component_list": [ + { + "declaration": { + "identifier": "con", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k2" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "not k1" + } + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": 10 + }, + { + "x": 10, + "y": 30 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Sources.Constant", + "component_list": [ + { + "declaration": { + "identifier": "con1", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k1" + } + } + } + } + } + ] + } + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -8, + "y": -30 + }, + { + "x": 12, + "y": -10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/TestEvaluation_3.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo", + "checksum": "a5e1a1f6126e2aa9474451639d6d6b01" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/TestEvaluation_4.json b/test/reference/json/test/FromModelica/TestEvaluation_4.json index 6b8b5da3..f2a2d309 100644 --- a/test/reference/json/test/FromModelica/TestEvaluation_4.json +++ b/test/reference/json/test/FromModelica/TestEvaluation_4.json @@ -1 +1,752 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"TestEvaluation_4","description_string":"Example for enumerate parameter evaluation","composition":{"element_list":[{"component_clause":{"type_prefix":"parameter","type_specifier":"Buildings.Controls.OBC.CDL.Types.SimpleController","component_list":[{"declaration":{"identifier":"controllerTypeCooCoi","modification":{"equal":true,"expression":{"simple_expression":"Buildings.Controls.OBC.CDL.Types.SimpleController.PI"}}},"description":{"description_string":"Type of controller"}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"kCooCoi","modification":{"equal":true,"expression":{"simple_expression":"0.1"}}},"description":{"description_string":"Gain for cooling coil control loop signal"}}]}},{"component_clause":{"type_prefix":"parameter","type_specifier":"Real","component_list":[{"declaration":{"identifier":"TiCooCoi","modification":{"equal":true,"expression":{"simple_expression":"900"}}},"description":{"description_string":"Time constant of integrator block for cooling coil control loop signal"}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"TSupCooSet"},"description":{"description_string":"Cooling supply air temperature setpoint","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"TAirSup"},"description":{"description_string":"Supply air temperature measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":0},{"x":-100,"y":40}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","component_list":[{"declaration":{"identifier":"uZonSta"},"description":{"description_string":"Zone state","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","component_list":[{"declaration":{"identifier":"u1SupFan"},"description":{"description_string":"Supply fan proven on","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-98},{"x":-100,"y":-58}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"yCooCoi"},"description":{"description_string":"Cooling coil position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.CoolingCoil","component_list":[{"declaration":{"identifier":"cooCoi","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"controllerTypeCooCoi","modification":{"equal":true,"expression":{"simple_expression":"controllerTypeCooCoi"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"kCooCoi","modification":{"equal":true,"expression":{"simple_expression":"kCooCoi"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"TiCooCoi","modification":{"equal":true,"expression":{"simple_expression":"TiCooCoi"}}}}}]}},"description":{"description_string":"Cooling coil control","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}}]}}],"element_sections":[{"equation_section":{"equation":[{"connect_clause":{"from":[{"dot_op":false,"identifier":"cooCoi"},{"dot_op":true},{"dot_op":false,"identifier":"TSupCooSet"}],"to":[{"dot_op":false,"identifier":"TSupCooSet"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-12,"y":8},{"x":-40,"y":8},{"x":-40,"y":60},{"x":-120,"y":60}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"cooCoi"},{"dot_op":true},{"dot_op":false,"identifier":"TAirSup"}],"to":[{"dot_op":false,"identifier":"TAirSup"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-12,"y":4},{"x":-60,"y":4},{"x":-60,"y":20},{"x":-120,"y":20}],"color":{"r":0,"g":0,"b":127}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"cooCoi"},{"dot_op":true},{"dot_op":false,"identifier":"uZonSta"}],"to":[{"dot_op":false,"identifier":"uZonSta"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-12,"y":-4},{"x":-60,"y":-4},{"x":-60,"y":-20},{"x":-120,"y":-20}],"color":{"r":255,"g":127,"b":0}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"cooCoi"},{"dot_op":true},{"dot_op":false,"identifier":"u1SupFan"}],"to":[{"dot_op":false,"identifier":"u1SupFan"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":-12,"y":-8},{"x":-40,"y":-8},{"x":-40,"y":-60},{"x":-120,"y":-60}],"color":{"r":255,"g":0,"b":255}}}}}]}},{"connect_clause":{"from":[{"dot_op":false,"identifier":"cooCoi"},{"dot_op":true},{"dot_op":false,"identifier":"yCooCoi"}],"to":[{"dot_op":false,"identifier":"yCooCoi"}]},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Line":{"points":[{"x":12,"y":0},{"x":58,"y":0},{"x":58,"y":0},{"x":120,"y":0}],"color":{"r":0,"g":0,"b":127}}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/TestEvaluation_4.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo","checksum":"c082f3e1f48da1d1fbcccde2a6123039"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "TestEvaluation_4", + "description_string": "Example for enumerate parameter evaluation", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Buildings.Controls.OBC.CDL.Types.SimpleController", + "component_list": [ + { + "declaration": { + "identifier": "controllerTypeCooCoi", + "modification": { + "equal": true, + "expression": { + "simple_expression": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" + } + } + }, + "description": { + "description_string": "Type of controller" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "kCooCoi", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0.1" + } + } + }, + "description": { + "description_string": "Gain for cooling coil control loop signal" + } + } + ] + } + }, + { + "component_clause": { + "type_prefix": "parameter", + "type_specifier": "Real", + "component_list": [ + { + "declaration": { + "identifier": "TiCooCoi", + "modification": { + "equal": true, + "expression": { + "simple_expression": "900" + } + } + }, + "description": { + "description_string": "Time constant of integrator block for cooling coil control loop signal" + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "TSupCooSet" + }, + "description": { + "description_string": "Cooling supply air temperature setpoint", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 60 + }, + { + "x": -100, + "y": 100 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "TAirSup" + }, + "description": { + "description_string": "Supply air temperature measurement", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 0 + }, + { + "x": -100, + "y": 40 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.IntegerInput", + "component_list": [ + { + "declaration": { + "identifier": "uZonSta" + }, + "description": { + "description_string": "Zone state", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -40 + }, + { + "x": -100, + "y": 0 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -60 + }, + { + "x": -100, + "y": -20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", + "component_list": [ + { + "declaration": { + "identifier": "u1SupFan" + }, + "description": { + "description_string": "Supply fan proven on", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -98 + }, + { + "x": -100, + "y": -58 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "yCooCoi" + }, + "description": { + "description_string": "Cooling coil position", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.CoolingCoil", + "component_list": [ + { + "declaration": { + "identifier": "cooCoi", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "controllerTypeCooCoi", + "modification": { + "equal": true, + "expression": { + "simple_expression": "controllerTypeCooCoi" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "kCooCoi", + "modification": { + "equal": true, + "expression": { + "simple_expression": "kCooCoi" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "TiCooCoi", + "modification": { + "equal": true, + "expression": { + "simple_expression": "TiCooCoi" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Cooling coil control", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -10 + }, + { + "x": 10, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "cooCoi" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "TSupCooSet" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "TSupCooSet" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -12, + "y": 8 + }, + { + "x": -40, + "y": 8 + }, + { + "x": -40, + "y": 60 + }, + { + "x": -120, + "y": 60 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "cooCoi" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "TAirSup" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "TAirSup" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -12, + "y": 4 + }, + { + "x": -60, + "y": 4 + }, + { + "x": -60, + "y": 20 + }, + { + "x": -120, + "y": 20 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "cooCoi" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "uZonSta" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "uZonSta" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -12, + "y": -4 + }, + { + "x": -60, + "y": -4 + }, + { + "x": -60, + "y": -20 + }, + { + "x": -120, + "y": -20 + } + ], + "color": { + "r": 255, + "g": 127, + "b": 0 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "cooCoi" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u1SupFan" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "u1SupFan" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -12, + "y": -8 + }, + { + "x": -40, + "y": -8 + }, + { + "x": -40, + "y": -60 + }, + { + "x": -120, + "y": -60 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "cooCoi" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "yCooCoi" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "yCooCoi" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 12, + "y": 0 + }, + { + "x": 58, + "y": 0 + }, + { + "x": 58, + "y": 0 + }, + { + "x": 120, + "y": 0 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/TestEvaluation_4.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo", + "checksum": "c082f3e1f48da1d1fbcccde2a6123039" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/VariableModification.json b/test/reference/json/test/FromModelica/VariableModification.json index 784b570f..61b309e5 100644 --- a/test/reference/json/test/FromModelica/VariableModification.json +++ b/test/reference/json/test/FromModelica/VariableModification.json @@ -1 +1,266 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"VariableModification","description_string":"Block with instantiated class that the connector attribute being specified","composition":{"element_list":[{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"Temperature input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Abs","component_list":[{"declaration":{"identifier":"abs","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"u","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"y","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}}]}}}}]}},"description":{"description_string":"Instance with modified input and output attributes","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}}]}}]}}}}],"modelicaFile":"test/FromModelica/VariableModification.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo","checksum":"becae2078619e9368d3d6379723e70f0"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "VariableModification", + "description_string": "Block with instantiated class that the connector attribute being specified", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Input connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -40 + }, + { + "x": -100, + "y": 0 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "TOut", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"ThermodynamicTemperature\"" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Temperature input", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Abs", + "component_list": [ + { + "declaration": { + "identifier": "abs", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "u", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "displayUnit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"degC\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "y", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "displayUnit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"degC\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + }, + "description": { + "description_string": "Instance with modified input and output attributes", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -8, + "y": -10 + }, + { + "x": 12, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/VariableModification.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo", + "checksum": "becae2078619e9368d3d6379723e70f0" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/WithCDLElementary.json b/test/reference/json/test/FromModelica/WithCDLElementary.json index cc046e37..9b0387b4 100644 --- a/test/reference/json/test/FromModelica/WithCDLElementary.json +++ b/test/reference/json/test/FromModelica/WithCDLElementary.json @@ -1 +1,198 @@ -{"within":"FromModelica","class_definition":[{"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"WithCDLElementary","description_string":"Block that instantiates CDL elementary block that there is inside class","composition":{"element_list":[{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Greater","component_list":[{"declaration":{"identifier":"gre"},"description":{"description_string":"CDL elementary block with inside class","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","component_list":[{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-212,"y":-12},{"x":-172,"y":28}]}}}}}]}}]}},{"component_clause":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","component_list":[{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":-184,"y":-4},{"x":-144,"y":36}]}}}}}]}}]}}],"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}]}}}}],"modelicaFile":"test/FromModelica/WithCDLElementary.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo","checksum":"1673de9d3884e1200f7b0b7ac300e95b"} \ No newline at end of file +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "block", + "class_specifier": { + "long_class_specifier": { + "identifier": "WithCDLElementary", + "description_string": "Block that instantiates CDL elementary block that there is inside class", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Greater", + "component_list": [ + { + "declaration": { + "identifier": "gre" + }, + "description": { + "description_string": "CDL elementary block with inside class", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -8, + "y": -10 + }, + { + "x": 12, + "y": 10 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Real input", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -212, + "y": -12 + }, + { + "x": -172, + "y": 28 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Real output", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -184, + "y": -4 + }, + { + "x": -144, + "y": 36 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/WithCDLElementary.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo", + "checksum": "1673de9d3884e1200f7b0b7ac300e95b" +} \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/package.json b/test/reference/json/test/FromModelica/package.json index 1dcd2bcd..aa67312b 100644 --- a/test/reference/json/test/FromModelica/package.json +++ b/test/reference/json/test/FromModelica/package.json @@ -1 +1,42 @@ -{"class_definition":[{"class_prefixes":"package","class_specifier":{"long_class_specifier":{"identifier":"FromModelica","description_string":"Package with test models","composition":{"element_list":[{"component_clause":{"type_prefix":"constant","type_specifier":"Integer","component_list":[{"declaration":{"identifier":"one","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"An integer constant with value 1"}}]}}]}}}}],"modelicaFile":"test/FromModelica/package.mo","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo","checksum":"b2a471abbf3ca9f2e2d994e7ce1539b4"} \ No newline at end of file +{ + "class_definition": [ + { + "class_prefixes": "package", + "class_specifier": { + "long_class_specifier": { + "identifier": "FromModelica", + "description_string": "Package with test models", + "composition": { + "element_list": [ + { + "component_clause": { + "type_prefix": "constant", + "type_specifier": "Integer", + "component_list": [ + { + "declaration": { + "identifier": "one", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "An integer constant with value 1" + } + } + ] + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/package.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo", + "checksum": "b2a471abbf3ca9f2e2d994e7ce1539b4" +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Block1.json b/test/reference/objects/test/FromModelica/Block1.json index 6b4edd00..eb44a254 100644 --- a/test/reference/objects/test/FromModelica/Block1.json +++ b/test/reference/objects/test/FromModelica/Block1.json @@ -1 +1,10 @@ -{"instances":{"Block1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Block1.mo","type":"long_class_specifier"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "Block1": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Block1.mo", + "type": "long_class_specifier" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/BlockInputOutput.json b/test/reference/objects/test/FromModelica/BlockInputOutput.json index 50323c18..0704013b 100644 --- a/test/reference/objects/test/FromModelica/BlockInputOutput.json +++ b/test/reference/objects/test/FromModelica/BlockInputOutput.json @@ -1 +1,158 @@ -{"instances":{"BlockInputOutput":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo","type":"long_class_specifier"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"BlockInputOutput","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"BlockInputOutput","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "BlockInputOutput": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo", + "type": "long_class_specifier" + }, + "u": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "BlockInputOutput", + "single_component_list": { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Input connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo" + }, + "y": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "BlockInputOutput", + "single_component_list": { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Output connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -10 + }, + { + "x": 120, + "y": 10 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -10 + }, + { + "x": 120, + "y": 10 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/BlockWithBlock1.json b/test/reference/objects/test/FromModelica/BlockWithBlock1.json index 3be40519..e258e083 100644 --- a/test/reference/objects/test/FromModelica/BlockWithBlock1.json +++ b/test/reference/objects/test/FromModelica/BlockWithBlock1.json @@ -1 +1,48 @@ -{"instances":{"BlockWithBlock1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo","type":"long_class_specifier"},"bloPub":{"type_specifier":"Block1","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"BlockWithBlock1","single_component_list":{"declaration":{"identifier":"bloPub"},"description":{"description_string":"A public block"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo"},"bloPro":{"type_specifier":"Block1","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"BlockWithBlock1","single_component_list":{"declaration":{"identifier":"bloPro"},"description":{"description_string":"A protected block"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "BlockWithBlock1": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo", + "type": "long_class_specifier" + }, + "bloPub": { + "type_specifier": "Block1", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "BlockWithBlock1", + "single_component_list": { + "declaration": { + "identifier": "bloPub" + }, + "description": { + "description_string": "A public block" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo" + }, + "bloPro": { + "type_specifier": "Block1", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "BlockWithBlock1", + "single_component_list": { + "declaration": { + "identifier": "bloPro" + }, + "description": { + "description_string": "A protected block" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ConditionalBlock.json b/test/reference/objects/test/FromModelica/ConditionalBlock.json index 28d32f6d..d6c72a45 100644 --- a/test/reference/objects/test/FromModelica/ConditionalBlock.json +++ b/test/reference/objects/test/FromModelica/ConditionalBlock.json @@ -1 +1,256 @@ -{"instances":{"ConditionalBlock":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo","type":"long_class_specifier"},"enaBlo":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"enaBlo","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Flag for enabling instance"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"u"},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Abs","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ConditionalBlock","single_component_list":{"declaration":{"identifier":"abs"},"condition_attribute":{"expression":{"simple_expression":"not enaBlo"}},"description":{"description_string":"Instance could be conditional disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "ConditionalBlock": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo", + "type": "long_class_specifier" + }, + "enaBlo": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "ConditionalBlock", + "single_component_list": { + "declaration": { + "identifier": "enaBlo", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + }, + "description": { + "description_string": "Flag for enabling instance" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo" + }, + "u": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "ConditionalBlock", + "single_component_list": { + "declaration": { + "identifier": "u" + }, + "condition_attribute": { + "expression": { + "simple_expression": "enaBlo" + } + }, + "description": { + "description_string": "Input connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo" + }, + "y": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "ConditionalBlock", + "single_component_list": { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Output connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -10 + }, + { + "x": 120, + "y": 10 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -10 + }, + { + "x": 120, + "y": 10 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo" + }, + "abs": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Abs", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "ConditionalBlock", + "single_component_list": { + "declaration": { + "identifier": "abs" + }, + "condition_attribute": { + "expression": { + "simple_expression": "not enaBlo" + } + }, + "description": { + "description_string": "Instance could be conditional disabled", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -8, + "y": -10 + }, + { + "x": 12, + "y": 10 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -8, + "y": -10 + }, + { + "x": 12, + "y": 10 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/CustomPWithLimiter.json b/test/reference/objects/test/FromModelica/CustomPWithLimiter.json index 9e260abf..58be7b80 100644 --- a/test/reference/objects/test/FromModelica/CustomPWithLimiter.json +++ b/test/reference/objects/test/FromModelica/CustomPWithLimiter.json @@ -1 +1,407 @@ -{"instances":{"CustomPWithLimiter":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nBlock that outputs y = min(yMax, k*e),\nwhere\nyMax and e are real-valued input signals and\nk is a parameter.\n

\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"k":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}},"description":{"description_string":"Constant gain"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"yMax":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"yMax"},"description":{"description_string":"Maximum value of output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"e":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"e"},"description":{"description_string":"Control error","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Control signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"},"minValue":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Min","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"CustomPWithLimiter","single_component_list":{"declaration":{"identifier":"minValue"},"description":{"description_string":"Outputs the minimum of its inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-10},{"x":40,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-10},{"x":40,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo"}},"requiredReferences":{"connections":{"yMax":["minValue.u1"],"e":["gain.u"],"gain.y":["minValue.u2"],"minValue.y":["y"]}}} \ No newline at end of file +{ + "instances": { + "CustomPWithLimiter": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nBlock that outputs y = min(yMax, k*e),\nwhere\nyMax and e are real-valued input signals and\nk is a parameter.\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {} + }, + "k": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "CustomPWithLimiter", + "single_component_list": { + "declaration": { + "identifier": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "2" + } + } + }, + "description": { + "description_string": "Constant gain" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo" + }, + "yMax": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "CustomPWithLimiter", + "single_component_list": { + "declaration": { + "identifier": "yMax" + }, + "description": { + "description_string": "Maximum value of output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo" + }, + "e": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "CustomPWithLimiter", + "single_component_list": { + "declaration": { + "identifier": "e" + }, + "description": { + "description_string": "Control error", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -60 + }, + { + "x": -100, + "y": -20 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -60 + }, + { + "x": -100, + "y": -20 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo" + }, + "y": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "CustomPWithLimiter", + "single_component_list": { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Control signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -10 + }, + { + "x": 120, + "y": 10 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -10 + }, + { + "x": 120, + "y": 10 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo" + }, + "gain": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "CustomPWithLimiter", + "single_component_list": { + "declaration": { + "identifier": "gain", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Constant gain", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": -50 + }, + { + "x": -40, + "y": -30 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": -50 + }, + { + "x": -40, + "y": -30 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo" + }, + "minValue": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Min", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "CustomPWithLimiter", + "single_component_list": { + "declaration": { + "identifier": "minValue" + }, + "description": { + "description_string": "Outputs the minimum of its inputs", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 20, + "y": -10 + }, + { + "x": 40, + "y": 10 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 20, + "y": -10 + }, + { + "x": 40, + "y": 10 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo" + } + }, + "requiredReferences": { + "connections": { + "yMax": [ + "minValue.u1" + ], + "e": [ + "gain.u" + ], + "gain.y": [ + "minValue.u2" + ], + "minValue.y": [ + "y" + ] + } + } +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/DynamicTextColor.json b/test/reference/objects/test/FromModelica/DynamicTextColor.json index 5f59d335..e0c83686 100644 --- a/test/reference/objects/test/FromModelica/DynamicTextColor.json +++ b/test/reference/objects/test/FromModelica/DynamicTextColor.json @@ -1 +1,204 @@ -{"instances":{"DynamicTextColor":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"preserveAspectRatio":"true"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Text","attribute":{"extent":[{"x":-90,"y":80},{"x":-46,"y":54}],"textString":"\"true\"","lineColor":{"r":0,"g":0,"b":null}}},{"name":"Text","attribute":{"extent":[{"x":-150,"y":150},{"x":150,"y":110}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}}],"semantics":{},"cdl_annotations":{}},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"DynamicTextColor","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "DynamicTextColor": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis is the info section.\n

\n\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "preserveAspectRatio": "true" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -90, + "y": 80 + }, + { + "x": -46, + "y": 54 + } + ], + "textString": "\"true\"", + "lineColor": { + "r": 0, + "g": 0, + "b": null + } + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -150, + "y": 150 + }, + { + "x": 150, + "y": 110 + } + ], + "textString": "\"%name\"", + "lineColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {} + }, + "u": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.Boolean", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "DynamicTextColor", + "single_component_list": { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Input connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/EmptyEquation.json b/test/reference/objects/test/FromModelica/EmptyEquation.json index 5dcb9a52..883767c5 100644 --- a/test/reference/objects/test/FromModelica/EmptyEquation.json +++ b/test/reference/objects/test/FromModelica/EmptyEquation.json @@ -1 +1,12 @@ -{"instances":{"EmptyEquation":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/EmptyEquation.mo","type":"long_class_specifier"}},"requiredReferences":{"connections":{}}} \ No newline at end of file +{ + "instances": { + "EmptyEquation": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/EmptyEquation.mo", + "type": "long_class_specifier" + } + }, + "requiredReferences": { + "connections": {} + } +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Enable.json b/test/reference/objects/test/FromModelica/Enable.json index 9edafd11..8753e5a9 100644 --- a/test/reference/objects/test/FromModelica/Enable.json +++ b/test/reference/objects/test/FromModelica/Enable.json @@ -1 +1,4881 @@ -{"instances":{"Enable":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"enaDis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-100,"y":-140},{"x":100,"y":140}]}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-140},{"x":100,"y":140}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":180},{"x":100,"y":140}],"textString":"\"%name\"","textColor":{"r":0,"g":0,"b":255}}},{"name":"Line","attribute":{"points":[{"x":0,"y":60},{"x":80,"y":60}],"color":{"r":0,"g":0,"b":127},"thickness":0.5}},{"name":"Line","attribute":{"points":[{"x":-80,"y":-60},{"x":0,"y":-60},{"x":0,"y":60}],"color":{"r":0,"g":0,"b":127},"thickness":0.5}},{"name":"Text","attribute":{"extent":[{"x":-98,"y":38},{"x":-56,"y":24}],"textString":"\"u1SupFan\"","textColor":{"r":255,"g":0,"b":255},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":18},{"x":-44,"y":4}],"textString":"\"uFreProSta\"","textColor":{"r":255,"g":127,"b":0},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":68},{"x":-56,"y":54}],"textString":"\"hOutCut\"","textColor":{"r":0,"g":0,"b":127},"visible":"use_enthalpy","pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":86},{"x":-70,"y":72}],"textString":"\"hOut\"","textColor":{"r":0,"g":0,"b":127},"visible":"use_enthalpy","pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":116},{"x":-56,"y":102}],"textString":"\"TOutCut\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":138},{"x":-72,"y":124}],"textString":"\"TOut\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-100},{"x":-32,"y":-118}],"textString":"\"uRetDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-10},{"x":-28,"y":-28}],"textString":"\"uOutDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-30},{"x":-28,"y":-48}],"textString":"\"uOutDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-80},{"x":-12,"y":-98}],"textString":"\"uRetDamPhy_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":-96,"y":-120},{"x":-32,"y":-138}],"textString":"\"uRetDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":110},{"x":96,"y":92}],"textString":"\"yOutDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":12},{"x":96,"y":-6}],"textString":"\"yRetDam_max\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}},{"name":"Text","attribute":{"extent":[{"x":36,"y":-88},{"x":96,"y":-106}],"textString":"\"yRetDam_min\"","textColor":{"r":0,"g":0,"b":127},"pattern":"LinePattern.Dash"}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"extent":[{"x":-260,"y":-280},{"x":240,"y":280}],"preserveAspectRatio":"false","initialScale":0.05}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":-2},{"x":220,"y":-250}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":58},{"x":220,"y":6}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":118},{"x":220,"y":66}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Rectangle","attribute":{"extent":[{"x":-240,"y":258},{"x":220,"y":130}],"lineColor":{"r":215,"g":215,"b":215},"fillColor":{"r":215,"g":215,"b":215},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":158},{"x":204,"y":138}],"textString":"\"Outdoor air\nconditions\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":52},{"x":298,"y":18}],"textString":"\"Freeze protection -\ndisable if stage1\nand above\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":-198},{"x":288,"y":-246}],"textString":"\"Damper position\nlimit assignments\nwith delays\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}},{"name":"Text","attribute":{"extent":[{"x":120,"y":84},{"x":214,"y":74}],"textString":"\"Supply fan status\"","textColor":{"r":0,"g":0,"b":0},"horizontalAlignment":"TextAlignment.Left"}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is a multi zone VAV AHU economizer enable/disable sequence\nbased on the Section 5.16.7 of the ASHRAE Guideline 36, May 2020. Additional\nconditions included in the sequence are: freeze protection (freeze protection\nstage 0-3, see Section 5.16.12), supply fan status (on or off, see Section 5.16.5).\n

\n

\nThe economizer is disabled whenever the outdoor air conditions\nexceed the economizer high limit setpoint.\nThis sequence allows for all device types listed in\nASHRAE 90.1-2013 and Title 24-2013.\n

\n

\nIn addition, the economizer gets disabled without a delay whenever any of the\nfollowing is true:\n

\n\n

\nThe following state machine chart illustrates the transitions between enabling and disabling:\n

\n

\n\\\"Image\n

\n

\nAfter the disable signal is activated, the following procedure is applied, in order to\nprevent pressure fluctuations in the HVAC system:\n

\n
    \n
  • \nThe return damper gets fully opened (yRetDam_max = uRetDamPhy_max and\nyRetDam_min = uRetDamPhy_max) for retDamFulOpeTim\ntime period, after which the return damper gets released to its minimum outdoor airflow control position\n(yRetDam_max = uRetDam_max and yRetDam_min = uRetDam_max).\n
  • \n
  • \nThe outdoor air damper is closed to its minimum outoor airflow control limit (yOutDam_max = uOutDam_min)\nafter a disDel time delay.\n
  • \n
\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\n
    \n
  • \nOctober 13, 2017, by Michael Wetter:
    \nAdded freeze protection that tracks mixed air temperature.\n
  • \n
  • \nAugust 3, 2017, by Michael Wetter:
    \nRemoved unrequired input into block and2 as this input\nwas always true if and2.u2 = true.\n
  • \n
  • \nJune 27, 2017, by Milica Grahovac:
    \nFirst implementation.\n
  • \n
\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"use_enthalpy":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"use_enthalpy","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Set to true to evaluate outdoor air (OA) enthalpy in addition to temperature","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Conditional\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Conditional\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delTOutHis":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delTOutHis","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"TemperatureDifference\""}}}}}],"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Delta between the temperature hysteresis high and low limit","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delEntHis":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delEntHis","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}],"equal":true,"expression":{"simple_expression":"1000"}}},"description":{"description_string":"Delta between the enthalpy hysteresis high and low limits","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"use_enthalpy"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Hysteresis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"use_enthalpy"}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"retDamFulOpeTim":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"retDamFulOpeTim","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"s\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"Time\""}}}}}],"equal":true,"expression":{"simple_expression":"180"}}},"description":{"description_string":"Time period to keep RA damper fully open before releasing it for minimum outdoor airflow control\n at disable to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"disDel":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"disDel","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"s\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"Time\""}}}}}],"equal":true,"expression":{"simple_expression":"15"}}},"description":{"description_string":"Short time delay before closing the OA damper at disable to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Advanced\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Delays at disable\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"Outdoor air temperature","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":232},{"x":-260,"y":272}]},"iconTransformation":{"extent":[{"x":-140,"y":110},{"x":-100,"y":150}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":232},{"x":-260,"y":272}]},"iconTransformation":{"extent":[{"x":-140,"y":110},{"x":-100,"y":150}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Outdoor air enthalpy","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":152},{"x":-260,"y":192}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":152},{"x":-260,"y":192}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutCut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutCut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"OA temperature high limit cutoff. For differential dry bulb temperature condition use return air temperature measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":192},{"x":-260,"y":232}]},"iconTransformation":{"extent":[{"x":-140,"y":90},{"x":-100,"y":130}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":192},{"x":-260,"y":232}]},"iconTransformation":{"extent":[{"x":-140,"y":90},{"x":-100,"y":130}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutCut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutCut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"OA enthalpy high limit cutoff. For differential enthalpy use return air enthalpy measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":112},{"x":-260,"y":152}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":112},{"x":-260,"y":152}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uOutDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uOutDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum outdoor air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-98},{"x":-260,"y":-58}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-98},{"x":-260,"y":-58}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uOutDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uOutDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum outdoor air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-58},{"x":-260,"y":-18}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-58},{"x":-260,"y":-18}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-178},{"x":-260,"y":-138}]},"iconTransformation":{"extent":[{"x":-140,"y":-130},{"x":-100,"y":-90}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-178},{"x":-260,"y":-138}]},"iconTransformation":{"extent":[{"x":-140,"y":-130},{"x":-100,"y":-90}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-218},{"x":-260,"y":-178}]},"iconTransformation":{"extent":[{"x":-140,"y":-150},{"x":-100,"y":-110}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-218},{"x":-260,"y":-178}]},"iconTransformation":{"extent":[{"x":-140,"y":-150},{"x":-100,"y":-110}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uRetDamPhy_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uRetDamPhy_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Physical maximum return air damper position, output from damper position limits sequence","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-138},{"x":-260,"y":-98}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":-138},{"x":-260,"y":-98}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"u1SupFan":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"u1SupFan"},"description":{"description_string":"Supply fan proven on","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":62},{"x":-260,"y":102}]},"iconTransformation":{"extent":[{"x":-140,"y":10},{"x":-100,"y":50}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":62},{"x":-260,"y":102}]},"iconTransformation":{"extent":[{"x":-140,"y":10},{"x":-100,"y":50}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"uFreProSta":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"uFreProSta"},"description":{"description_string":"Freeze protection stage status signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":22},{"x":-260,"y":62}]},"iconTransformation":{"extent":[{"x":-140,"y":-10},{"x":-100,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-300,"y":22},{"x":-260,"y":62}]},"iconTransformation":{"extent":[{"x":-140,"y":-10},{"x":-100,"y":30}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yOutDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yOutDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum outdoor air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":22},{"x":280,"y":62}]},"iconTransformation":{"extent":[{"x":100,"y":80},{"x":140,"y":120}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":22},{"x":280,"y":62}]},"iconTransformation":{"extent":[{"x":100,"y":80},{"x":140,"y":120}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yRetDam_min":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yRetDam_min","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Minimum return air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-98},{"x":280,"y":-58}]},"iconTransformation":{"extent":[{"x":100,"y":-120},{"x":140,"y":-80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-98},{"x":280,"y":-58}]},"iconTransformation":{"extent":[{"x":100,"y":-120},{"x":140,"y":-80}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"yRetDam_max":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"yRetDam_max","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"1\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"1"}}}}}]}},"description":{"description_string":"Maximum return air damper position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-38},{"x":280,"y":2}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":240,"y":-38},{"x":280,"y":2}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"truFalHol":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueFalseHold","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"truFalHol","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"trueHoldDuration","modification":{"equal":true,"expression":{"simple_expression":"600"}}}}}]}},"description":{"description_string":"Economizer should not be enabled or disabled within 10 minutes of change","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":182},{"x":40,"y":202}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":182},{"x":40,"y":202}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"andEnaDis":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"andEnaDis"},"description":{"description_string":"Check freeze protection stage and zone state","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":12},{"x":80,"y":32}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":12},{"x":80,"y":32}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutHigLimCutHig":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutHigLimCutHig","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"TemperatureDifference\""}}}}}],"equal":true,"expression":{"simple_expression":"0"}}},"description":{"description_string":"Hysteresis high limit cutoff"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"TOutHigLimCutLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"TOutHigLimCutLow","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutHig -delTOutHis"}}},"description":{"description_string":"Hysteresis low limit cutoff"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutHigLimCutHig":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutHigLimCutHig","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"J/kg\""}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"SpecificEnergy\""}}}}}],"equal":true,"expression":{"simple_expression":"0"}}},"description":{"description_string":"Hysteresis block high limit cutoff"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hOutHigLimCutLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hOutHigLimCutLow","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutHig -delEntHis"}}},"description":{"description_string":"Hysteresis block low limit cutoff"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"sub2":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Subtract","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"sub2"},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Add block determines difference between hOut and hOutCut","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":140},{"x":-180,"y":160}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":140},{"x":-180,"y":160}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"sub1":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Subtract","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"sub1"},"description":{"description_string":"Add block determines difference between TOut and TOutCut","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":220},{"x":-180,"y":240}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-200,"y":220},{"x":-180,"y":240}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hysOutTem":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Hysteresis","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hysOutTem","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutLow"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"TOutHigLimCutHig"}}}}}]}},"description":{"description_string":"Outdoor air temperature hysteresis for both fixed and differential dry bulb temperature cutoff conditions","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":220},{"x":-140,"y":240}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":220},{"x":-140,"y":240}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"hysOutEnt":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Hysteresis","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"hysOutEnt","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutLow"}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"hOutHigLimCutHig"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"use_enthalpy"}},"description":{"description_string":"Outdoor air enthalpy hysteresis for both fixed and differential enthalpy cutoff conditions","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":140},{"x":-140,"y":160}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":140},{"x":-140,"y":160}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"outDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"outDamSwitch"},"description":{"description_string":"Set maximum OA damper position to minimum at disable (after a given time delay)","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":82,"y":-78},{"x":102,"y":-58}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":82,"y":-78},{"x":102,"y":-58}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"retDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"retDamSwitch"},"description":{"description_string":"Set minimum RA damper position to maximum at disable","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-176},{"x":0,"y":-156}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-176},{"x":0,"y":-156}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"maxRetDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"maxRetDamSwitch"},"description":{"description_string":"Keep maximum RA damper position at physical maximum for a short time period after disable signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-136},{"x":80,"y":-116}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-136},{"x":80,"y":-116}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"minRetDamSwitch":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Switch","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"minRetDamSwitch"},"description":{"description_string":"Keep minimum RA damper position at physical maximum for a short time period after disable","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-178},{"x":80,"y":-158}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":60,"y":-178},{"x":80,"y":-158}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"not2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Not","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"not2"},"description":{"description_string":"Logical not that starts the timer at disable signal ","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-58},{"x":-40,"y":-38}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-58},{"x":-40,"y":-38}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and2"},"description":{"description_string":"Logical and","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":160,"y":-100},{"x":180,"y":-80}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":160,"y":-100},{"x":180,"y":-80}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and1"},"description":{"description_string":"Check supply fan status","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":80},{"x":40,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":80},{"x":40,"y":100}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"and3":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.And","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"and3"},"description":{"description_string":"Check if delay time has been passed after economizer being disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":40,"y":-54},{"x":60,"y":-34}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":40,"y":-54},{"x":60,"y":-34}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"intEqu":{"type_specifier":"Buildings.Controls.OBC.CDL.Integers.Equal","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"intEqu"},"description":{"description_string":"Logical block to check if the freeze protection is deactivated","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-78,"y":32},{"x":-58,"y":52}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-78,"y":32},{"x":-58,"y":52}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delOutDamOsc":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delOutDamOsc","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"disDel"}}}}}]}},"description":{"description_string":"Small delay before closing the outdoor air damper to avoid pressure fluctuations","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-58},{"x":0,"y":-38}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-58},{"x":0,"y":-38}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"delRetDam":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"delRetDam","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"retDamFulOpeTim"}}}}}]}},"description":{"description_string":"Keep return damper open to its physical maximum for a short period of time before closing the outdoor air damper and resuming the maximum return air damper position, per G36 Part N7","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-108},{"x":0,"y":-88}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":-108},{"x":0,"y":-88}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"not1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Not","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"not1"},"description":{"description_string":"Logical not","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-108},{"x":40,"y":-88}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":20,"y":-108},{"x":40,"y":-88}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"conInt":{"type_specifier":"Buildings.Controls.OBC.CDL.Integers.Sources.Constant","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"conInt","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeProtectionStages.stage0"}}}}}]}},"description":{"description_string":"Integer constant, stage 0","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-118,"y":12},{"x":-98,"y":32}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-118,"y":12},{"x":-98,"y":32}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"entSubst1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"entSubst1","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"not use_enthalpy"}},"description":{"description_string":"Deactivates outdoor air enthalpy condition if there is no enthalpy sensor","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":180},{"x":-140,"y":200}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-160,"y":180},{"x":-140,"y":200}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"},"or2":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Or","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"Enable","single_component_list":{"declaration":{"identifier":"or2"},"description":{"description_string":"Check if either the temperature or the enthalpy condition is satisfied","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":182},{"x":-40,"y":202}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":182},{"x":-40,"y":202}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo"}},"requiredReferences":{"connections":{"TOut":["sub1.u1"],"TOutCut":["sub1.u2"],"sub1.y":["hysOutTem.u"],"hOut":["sub2.u1"],"hOutCut":["sub2.u2"],"sub2.y":["hysOutEnt.u"],"uOutDam_min":["outDamSwitch.u1"],"uOutDam_max":["outDamSwitch.u3"],"uRetDamPhy_max":["maxRetDamSwitch.u1","minRetDamSwitch.u1"],"uRetDam_max":["maxRetDamSwitch.u3","retDamSwitch.u1"],"andEnaDis.y":["not2.u"],"maxRetDamSwitch.y":["yRetDam_max"],"and2.y":["maxRetDamSwitch.u2","minRetDamSwitch.u2"],"not2.y":["retDamSwitch.u2","and3.u1","delRetDam.u"],"uRetDam_min":["retDamSwitch.u3"],"retDamSwitch.y":["minRetDamSwitch.u3"],"truFalHol.y":["and1.u1"],"and1.y":["andEnaDis.u1"],"u1SupFan":["and1.u2"],"outDamSwitch.u2":["and3.y"],"and2.u1":["not2.y"],"and3.u2":["delOutDamOsc.y"],"delOutDamOsc.u":["not2.y"],"delRetDam.y":["not1.u"],"not1.y":["and2.u2"],"uFreProSta":["intEqu.u1"],"conInt.y":["intEqu.u2"],"intEqu.y":["andEnaDis.u2"],"outDamSwitch.y":["yOutDam_max"],"minRetDamSwitch.y":["yRetDam_min"],"or2.y":["truFalHol.u"],"hysOutTem.y":["or2.u1"],"hysOutEnt.y":["or2.u2"],"entSubst1.y":["or2.u2"]}}} \ No newline at end of file +{ + "instances": { + "Enable": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"enaDis\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -100, + "y": -140 + }, + { + "x": 100, + "y": 140 + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -140 + }, + { + "x": 100, + "y": 140 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 180 + }, + { + "x": 100, + "y": 140 + } + ], + "textString": "\"%name\"", + "textColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": 0, + "y": 60 + }, + { + "x": 80, + "y": 60 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + }, + "thickness": 0.5 + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -80, + "y": -60 + }, + { + "x": 0, + "y": -60 + }, + { + "x": 0, + "y": 60 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + }, + "thickness": 0.5 + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -98, + "y": 38 + }, + { + "x": -56, + "y": 24 + } + ], + "textString": "\"u1SupFan\"", + "textColor": { + "r": 255, + "g": 0, + "b": 255 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 18 + }, + { + "x": -44, + "y": 4 + } + ], + "textString": "\"uFreProSta\"", + "textColor": { + "r": 255, + "g": 127, + "b": 0 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 68 + }, + { + "x": -56, + "y": 54 + } + ], + "textString": "\"hOutCut\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "visible": "use_enthalpy", + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 86 + }, + { + "x": -70, + "y": 72 + } + ], + "textString": "\"hOut\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "visible": "use_enthalpy", + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 116 + }, + { + "x": -56, + "y": 102 + } + ], + "textString": "\"TOutCut\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 138 + }, + { + "x": -72, + "y": 124 + } + ], + "textString": "\"TOut\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -96, + "y": -100 + }, + { + "x": -32, + "y": -118 + } + ], + "textString": "\"uRetDam_max\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -96, + "y": -10 + }, + { + "x": -28, + "y": -28 + } + ], + "textString": "\"uOutDam_max\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -96, + "y": -30 + }, + { + "x": -28, + "y": -48 + } + ], + "textString": "\"uOutDam_min\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -96, + "y": -80 + }, + { + "x": -12, + "y": -98 + } + ], + "textString": "\"uRetDamPhy_max\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -96, + "y": -120 + }, + { + "x": -32, + "y": -138 + } + ], + "textString": "\"uRetDam_min\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 36, + "y": 110 + }, + { + "x": 96, + "y": 92 + } + ], + "textString": "\"yOutDam_max\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 36, + "y": 12 + }, + { + "x": 96, + "y": -6 + } + ], + "textString": "\"yRetDam_max\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 36, + "y": -88 + }, + { + "x": 96, + "y": -106 + } + ], + "textString": "\"yRetDam_min\"", + "textColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "pattern": "LinePattern.Dash" + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "extent": [ + { + "x": -260, + "y": -280 + }, + { + "x": 240, + "y": 280 + } + ], + "preserveAspectRatio": "false", + "initialScale": 0.05 + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -240, + "y": -2 + }, + { + "x": 220, + "y": -250 + } + ], + "lineColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "fillColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -240, + "y": 58 + }, + { + "x": 220, + "y": 6 + } + ], + "lineColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "fillColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -240, + "y": 118 + }, + { + "x": 220, + "y": 66 + } + ], + "lineColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "fillColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -240, + "y": 258 + }, + { + "x": 220, + "y": 130 + } + ], + "lineColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "fillColor": { + "r": 215, + "g": 215, + "b": 215 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 120, + "y": 158 + }, + { + "x": 204, + "y": 138 + } + ], + "textString": "\"Outdoor air\nconditions\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "horizontalAlignment": "TextAlignment.Left" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 120, + "y": 52 + }, + { + "x": 298, + "y": 18 + } + ], + "textString": "\"Freeze protection -\ndisable if stage1\nand above\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "horizontalAlignment": "TextAlignment.Left" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 120, + "y": -198 + }, + { + "x": 288, + "y": -246 + } + ], + "textString": "\"Damper position\nlimit assignments\nwith delays\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "horizontalAlignment": "TextAlignment.Left" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": 120, + "y": 84 + }, + { + "x": 214, + "y": 74 + } + ], + "textString": "\"Supply fan status\"", + "textColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "horizontalAlignment": "TextAlignment.Left" + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis is a multi zone VAV AHU economizer enable/disable sequence\nbased on the Section 5.16.7 of the ASHRAE Guideline 36, May 2020. Additional\nconditions included in the sequence are: freeze protection (freeze protection\nstage 0-3, see Section 5.16.12), supply fan status (on or off, see Section 5.16.5).\n

\n

\nThe economizer is disabled whenever the outdoor air conditions\nexceed the economizer high limit setpoint.\nThis sequence allows for all device types listed in\nASHRAE 90.1-2013 and Title 24-2013.\n

\n

\nIn addition, the economizer gets disabled without a delay whenever any of the\nfollowing is true:\n

\n\n

\nThe following state machine chart illustrates the transitions between enabling and disabling:\n

\n

\n\\\"Image\n

\n

\nAfter the disable signal is activated, the following procedure is applied, in order to\nprevent pressure fluctuations in the HVAC system:\n

\n
    \n
  • \nThe return damper gets fully opened (yRetDam_max = uRetDamPhy_max and\nyRetDam_min = uRetDamPhy_max) for retDamFulOpeTim\ntime period, after which the return damper gets released to its minimum outdoor airflow control position\n(yRetDam_max = uRetDam_max and yRetDam_min = uRetDam_max).\n
  • \n
  • \nThe outdoor air damper is closed to its minimum outoor airflow control limit (yOutDam_max = uOutDam_min)\nafter a disDel time delay.\n
  • \n
\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nOctober 13, 2017, by Michael Wetter:
    \nAdded freeze protection that tracks mixed air temperature.\n
  • \n
  • \nAugust 3, 2017, by Michael Wetter:
    \nRemoved unrequired input into block and2 as this input\nwas always true if and2.u2 = true.\n
  • \n
  • \nJune 27, 2017, by Milica Grahovac:
    \nFirst implementation.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {} + }, + "use_enthalpy": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "use_enthalpy", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + }, + "description": { + "description_string": "Set to true to evaluate outdoor air (OA) enthalpy in addition to temperature", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Conditional\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Conditional\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "delTOutHis": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "delTOutHis", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "displayUnit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"TemperatureDifference\"" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Delta between the temperature hysteresis high and low limit", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Hysteresis\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Hysteresis\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "delEntHis": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "delEntHis", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"J/kg\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"SpecificEnergy\"" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "1000" + } + } + }, + "description": { + "description_string": "Delta between the enthalpy hysteresis high and low limits", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Hysteresis\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "use_enthalpy" + } + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Hysteresis\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "use_enthalpy" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "retDamFulOpeTim": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "retDamFulOpeTim", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"s\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Time\"" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "180" + } + } + }, + "description": { + "description_string": "Time period to keep RA damper fully open before releasing it for minimum outdoor airflow control\n at disable to avoid pressure fluctuations", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Delays at disable\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Delays at disable\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "disDel": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "disDel", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"s\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Time\"" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "15" + } + } + }, + "description": { + "description_string": "Short time delay before closing the OA damper at disable to avoid pressure fluctuations", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Delays at disable\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Advanced\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Delays at disable\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "TOut": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "TOut", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "displayUnit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"degC\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"ThermodynamicTemperature\"" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Outdoor air temperature", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": 232 + }, + { + "x": -260, + "y": 272 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 110 + }, + { + "x": -100, + "y": 150 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": 232 + }, + { + "x": -260, + "y": 272 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 110 + }, + { + "x": -100, + "y": 150 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "hOut": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "hOut", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"J/kg\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"SpecificEnergy\"" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "use_enthalpy" + } + }, + "description": { + "description_string": "Outdoor air enthalpy", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": 152 + }, + { + "x": -260, + "y": 192 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 60 + }, + { + "x": -100, + "y": 100 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": 152 + }, + { + "x": -260, + "y": 192 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 60 + }, + { + "x": -100, + "y": 100 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "TOutCut": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "TOutCut", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "displayUnit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"degC\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"ThermodynamicTemperature\"" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "OA temperature high limit cutoff. For differential dry bulb temperature condition use return air temperature measurement", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": 192 + }, + { + "x": -260, + "y": 232 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 90 + }, + { + "x": -100, + "y": 130 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": 192 + }, + { + "x": -260, + "y": 232 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 90 + }, + { + "x": -100, + "y": 130 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "hOutCut": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "hOutCut", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"J/kg\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"SpecificEnergy\"" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "use_enthalpy" + } + }, + "description": { + "description_string": "OA enthalpy high limit cutoff. For differential enthalpy use return air enthalpy measurement", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": 112 + }, + { + "x": -260, + "y": 152 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": 112 + }, + { + "x": -260, + "y": 152 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "uOutDam_min": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "uOutDam_min", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Minimum outdoor air damper position, output from damper position limits sequence", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": -98 + }, + { + "x": -260, + "y": -58 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -60 + }, + { + "x": -100, + "y": -20 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": -98 + }, + { + "x": -260, + "y": -58 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -60 + }, + { + "x": -100, + "y": -20 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "uOutDam_max": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "uOutDam_max", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Maximum outdoor air damper position, output from damper position limits sequence", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": -58 + }, + { + "x": -260, + "y": -18 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -40 + }, + { + "x": -100, + "y": 0 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": -58 + }, + { + "x": -260, + "y": -18 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -40 + }, + { + "x": -100, + "y": 0 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "uRetDam_max": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "uRetDam_max", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Maximum return air damper position, output from damper position limits sequence", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": -178 + }, + { + "x": -260, + "y": -138 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -130 + }, + { + "x": -100, + "y": -90 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": -178 + }, + { + "x": -260, + "y": -138 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -130 + }, + { + "x": -100, + "y": -90 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "uRetDam_min": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "uRetDam_min", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Minimum return air damper position, output from damper position limits sequence", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": -218 + }, + { + "x": -260, + "y": -178 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -150 + }, + { + "x": -100, + "y": -110 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": -218 + }, + { + "x": -260, + "y": -178 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -150 + }, + { + "x": -100, + "y": -110 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "uRetDamPhy_max": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "uRetDamPhy_max", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Physical maximum return air damper position, output from damper position limits sequence", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": -138 + }, + { + "x": -260, + "y": -98 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -110 + }, + { + "x": -100, + "y": -70 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": -138 + }, + { + "x": -260, + "y": -98 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -110 + }, + { + "x": -100, + "y": -70 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "u1SupFan": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "u1SupFan" + }, + "description": { + "description_string": "Supply fan proven on", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": 62 + }, + { + "x": -260, + "y": 102 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 10 + }, + { + "x": -100, + "y": 50 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": 62 + }, + { + "x": -260, + "y": 102 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 10 + }, + { + "x": -100, + "y": 50 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "uFreProSta": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.IntegerInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "uFreProSta" + }, + "description": { + "description_string": "Freeze protection stage status signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": 22 + }, + { + "x": -260, + "y": 62 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -10 + }, + { + "x": -100, + "y": 30 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -300, + "y": 22 + }, + { + "x": -260, + "y": 62 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -10 + }, + { + "x": -100, + "y": 30 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "yOutDam_max": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "yOutDam_max", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Maximum outdoor air damper position", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 240, + "y": 22 + }, + { + "x": 280, + "y": 62 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": 80 + }, + { + "x": 140, + "y": 120 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 240, + "y": 22 + }, + { + "x": 280, + "y": 62 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": 80 + }, + { + "x": 140, + "y": 120 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "yRetDam_min": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "yRetDam_min", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Minimum return air damper position", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 240, + "y": -98 + }, + { + "x": 280, + "y": -58 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -120 + }, + { + "x": 140, + "y": -80 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 240, + "y": -98 + }, + { + "x": 280, + "y": -58 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -120 + }, + { + "x": 140, + "y": -80 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "yRetDam_max": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "yRetDam_max", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Maximum return air damper position", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 240, + "y": -38 + }, + { + "x": 280, + "y": 2 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 240, + "y": -38 + }, + { + "x": 280, + "y": 2 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "truFalHol": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueFalseHold", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "truFalHol", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "trueHoldDuration", + "modification": { + "equal": true, + "expression": { + "simple_expression": "600" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Economizer should not be enabled or disabled within 10 minutes of change", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 20, + "y": 182 + }, + { + "x": 40, + "y": 202 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 20, + "y": 182 + }, + { + "x": 40, + "y": 202 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "andEnaDis": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.And", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "andEnaDis" + }, + "description": { + "description_string": "Check freeze protection stage and zone state", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 60, + "y": 12 + }, + { + "x": 80, + "y": 32 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 60, + "y": 12 + }, + { + "x": 80, + "y": 32 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "TOutHigLimCutHig": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "TOutHigLimCutHig", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "displayUnit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"TemperatureDifference\"" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "0" + } + } + }, + "description": { + "description_string": "Hysteresis high limit cutoff" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "TOutHigLimCutLow": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "TOutHigLimCutLow", + "modification": { + "equal": true, + "expression": { + "simple_expression": "TOutHigLimCutHig -delTOutHis" + } + } + }, + "description": { + "description_string": "Hysteresis low limit cutoff" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "hOutHigLimCutHig": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "hOutHigLimCutHig", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"J/kg\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"SpecificEnergy\"" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "0" + } + } + }, + "description": { + "description_string": "Hysteresis block high limit cutoff" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "hOutHigLimCutLow": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "hOutHigLimCutLow", + "modification": { + "equal": true, + "expression": { + "simple_expression": "hOutHigLimCutHig -delEntHis" + } + } + }, + "description": { + "description_string": "Hysteresis block low limit cutoff" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "sub2": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "sub2" + }, + "condition_attribute": { + "expression": { + "simple_expression": "use_enthalpy" + } + }, + "description": { + "description_string": "Add block determines difference between hOut and hOutCut", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -200, + "y": 140 + }, + { + "x": -180, + "y": 160 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -200, + "y": 140 + }, + { + "x": -180, + "y": 160 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "sub1": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Subtract", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "sub1" + }, + "description": { + "description_string": "Add block determines difference between TOut and TOutCut", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -200, + "y": 220 + }, + { + "x": -180, + "y": 240 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -200, + "y": 220 + }, + { + "x": -180, + "y": 240 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "hysOutTem": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Hysteresis", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "hysOutTem", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "uLow", + "modification": { + "equal": true, + "expression": { + "simple_expression": "TOutHigLimCutLow" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "uHigh", + "modification": { + "equal": true, + "expression": { + "simple_expression": "TOutHigLimCutHig" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Outdoor air temperature hysteresis for both fixed and differential dry bulb temperature cutoff conditions", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -160, + "y": 220 + }, + { + "x": -140, + "y": 240 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -160, + "y": 220 + }, + { + "x": -140, + "y": 240 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "hysOutEnt": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Hysteresis", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "hysOutEnt", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "uLow", + "modification": { + "equal": true, + "expression": { + "simple_expression": "hOutHigLimCutLow" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "uHigh", + "modification": { + "equal": true, + "expression": { + "simple_expression": "hOutHigLimCutHig" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "use_enthalpy" + } + }, + "description": { + "description_string": "Outdoor air enthalpy hysteresis for both fixed and differential enthalpy cutoff conditions", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -160, + "y": 140 + }, + { + "x": -140, + "y": 160 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -160, + "y": 140 + }, + { + "x": -140, + "y": 160 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "outDamSwitch": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Switch", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "outDamSwitch" + }, + "description": { + "description_string": "Set maximum OA damper position to minimum at disable (after a given time delay)", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 82, + "y": -78 + }, + { + "x": 102, + "y": -58 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 82, + "y": -78 + }, + { + "x": 102, + "y": -58 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "retDamSwitch": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Switch", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "retDamSwitch" + }, + "description": { + "description_string": "Set minimum RA damper position to maximum at disable", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -20, + "y": -176 + }, + { + "x": 0, + "y": -156 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -20, + "y": -176 + }, + { + "x": 0, + "y": -156 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "maxRetDamSwitch": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Switch", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "maxRetDamSwitch" + }, + "description": { + "description_string": "Keep maximum RA damper position at physical maximum for a short time period after disable signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 60, + "y": -136 + }, + { + "x": 80, + "y": -116 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 60, + "y": -136 + }, + { + "x": 80, + "y": -116 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "minRetDamSwitch": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Switch", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "minRetDamSwitch" + }, + "description": { + "description_string": "Keep minimum RA damper position at physical maximum for a short time period after disable", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 60, + "y": -178 + }, + { + "x": 80, + "y": -158 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 60, + "y": -178 + }, + { + "x": 80, + "y": -158 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "not2": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Not", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "not2" + }, + "description": { + "description_string": "Logical not that starts the timer at disable signal ", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": -58 + }, + { + "x": -40, + "y": -38 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": -58 + }, + { + "x": -40, + "y": -38 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "and2": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.And", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "and2" + }, + "description": { + "description_string": "Logical and", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 160, + "y": -100 + }, + { + "x": 180, + "y": -80 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 160, + "y": -100 + }, + { + "x": 180, + "y": -80 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "and1": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.And", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "and1" + }, + "description": { + "description_string": "Check supply fan status", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 20, + "y": 80 + }, + { + "x": 40, + "y": 100 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 20, + "y": 80 + }, + { + "x": 40, + "y": 100 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "and3": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.And", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "and3" + }, + "description": { + "description_string": "Check if delay time has been passed after economizer being disabled", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 40, + "y": -54 + }, + { + "x": 60, + "y": -34 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 40, + "y": -54 + }, + { + "x": 60, + "y": -34 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "intEqu": { + "type_specifier": "Buildings.Controls.OBC.CDL.Integers.Equal", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "intEqu" + }, + "description": { + "description_string": "Logical block to check if the freeze protection is deactivated", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -78, + "y": 32 + }, + { + "x": -58, + "y": 52 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -78, + "y": 32 + }, + { + "x": -58, + "y": 52 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "delOutDamOsc": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "delOutDamOsc", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "delayTime", + "modification": { + "equal": true, + "expression": { + "simple_expression": "disDel" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Small delay before closing the outdoor air damper to avoid pressure fluctuations", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -20, + "y": -58 + }, + { + "x": 0, + "y": -38 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -20, + "y": -58 + }, + { + "x": 0, + "y": -38 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "delRetDam": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "delRetDam", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "delayTime", + "modification": { + "equal": true, + "expression": { + "simple_expression": "retDamFulOpeTim" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Keep return damper open to its physical maximum for a short period of time before closing the outdoor air damper and resuming the maximum return air damper position, per G36 Part N7", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -20, + "y": -108 + }, + { + "x": 0, + "y": -88 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -20, + "y": -108 + }, + { + "x": 0, + "y": -88 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "not1": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Not", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "not1" + }, + "description": { + "description_string": "Logical not", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 20, + "y": -108 + }, + { + "x": 40, + "y": -88 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 20, + "y": -108 + }, + { + "x": 40, + "y": -88 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "conInt": { + "type_specifier": "Buildings.Controls.OBC.CDL.Integers.Sources.Constant", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "conInt", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeProtectionStages.stage0" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Integer constant, stage 0", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -118, + "y": 12 + }, + { + "x": -98, + "y": 32 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -118, + "y": 12 + }, + { + "x": -98, + "y": 32 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "entSubst1": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Sources.Constant", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "entSubst1", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "false" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "not use_enthalpy" + } + }, + "description": { + "description_string": "Deactivates outdoor air enthalpy condition if there is no enthalpy sensor", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -160, + "y": 180 + }, + { + "x": -140, + "y": 200 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -160, + "y": 180 + }, + { + "x": -140, + "y": 200 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + }, + "or2": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Or", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "Enable", + "single_component_list": { + "declaration": { + "identifier": "or2" + }, + "description": { + "description_string": "Check if either the temperature or the enthalpy condition is satisfied", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": 182 + }, + { + "x": -40, + "y": 202 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": 182 + }, + { + "x": -40, + "y": 202 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" + } + }, + "requiredReferences": { + "connections": { + "TOut": [ + "sub1.u1" + ], + "TOutCut": [ + "sub1.u2" + ], + "sub1.y": [ + "hysOutTem.u" + ], + "hOut": [ + "sub2.u1" + ], + "hOutCut": [ + "sub2.u2" + ], + "sub2.y": [ + "hysOutEnt.u" + ], + "uOutDam_min": [ + "outDamSwitch.u1" + ], + "uOutDam_max": [ + "outDamSwitch.u3" + ], + "uRetDamPhy_max": [ + "maxRetDamSwitch.u1", + "minRetDamSwitch.u1" + ], + "uRetDam_max": [ + "maxRetDamSwitch.u3", + "retDamSwitch.u1" + ], + "andEnaDis.y": [ + "not2.u" + ], + "maxRetDamSwitch.y": [ + "yRetDam_max" + ], + "and2.y": [ + "maxRetDamSwitch.u2", + "minRetDamSwitch.u2" + ], + "not2.y": [ + "retDamSwitch.u2", + "and3.u1", + "delRetDam.u" + ], + "uRetDam_min": [ + "retDamSwitch.u3" + ], + "retDamSwitch.y": [ + "minRetDamSwitch.u3" + ], + "truFalHol.y": [ + "and1.u1" + ], + "and1.y": [ + "andEnaDis.u1" + ], + "u1SupFan": [ + "and1.u2" + ], + "outDamSwitch.u2": [ + "and3.y" + ], + "and2.u1": [ + "not2.y" + ], + "and3.u2": [ + "delOutDamOsc.y" + ], + "delOutDamOsc.u": [ + "not2.y" + ], + "delRetDam.y": [ + "not1.u" + ], + "not1.y": [ + "and2.u2" + ], + "uFreProSta": [ + "intEqu.u1" + ], + "conInt.y": [ + "intEqu.u2" + ], + "intEqu.y": [ + "andEnaDis.u2" + ], + "outDamSwitch.y": [ + "yOutDam_max" + ], + "minRetDamSwitch.y": [ + "yRetDam_min" + ], + "or2.y": [ + "truFalHol.u" + ], + "hysOutTem.y": [ + "or2.u1" + ], + "hysOutEnt.y": [ + "or2.u2" + ], + "entSubst1.y": [ + "or2.u2" + ] + } + } +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ExtendsClause_1.json b/test/reference/objects/test/FromModelica/ExtendsClause_1.json index b4235602..a9e3b808 100644 --- a/test/reference/objects/test/FromModelica/ExtendsClause_1.json +++ b/test/reference/objects/test/FromModelica/ExtendsClause_1.json @@ -1 +1,227 @@ -{"instances":{"ExtendsClause_1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"ExtendsClause_1","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Reals.PID","class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Ti","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}}],"long_class_specifier_identifier":"ExtendsClause_1","within":"FromModelica","compositionSpecifier":"public"}]}} \ No newline at end of file +{ + "instances": { + "ExtendsClause_1": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"res\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\ntest...test...test...test...test...\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\ntest...test...test...\n\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {} + }, + "gain": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "ExtendsClause_1", + "single_component_list": { + "declaration": { + "identifier": "gain", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Constant gain", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": -50 + }, + { + "x": -40, + "y": -30 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": -50 + }, + { + "x": -40, + "y": -30 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo" + }, + "length": { + "type_prefix": "parameter", + "type_specifier": "Modelica.SIunits.Length", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "ExtendsClause_1", + "single_component_list": { + "declaration": { + "identifier": "length" + }, + "description": { + "description_string": "Length of the pipe" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo" + }, + "ARound": { + "type_prefix": "parameter", + "type_specifier": "Modelica.SIunits.Area", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "ExtendsClause_1", + "single_component_list": { + "declaration": { + "identifier": "ARound", + "modification": { + "equal": true, + "expression": { + "simple_expression": "dh^2*Modelica.Constants.pi/4" + } + } + }, + "description": { + "description_string": "Cross sectional area (assuming a round cross section area)" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo" + } + }, + "requiredReferences": { + "extends_clause": [ + { + "name": "Buildings.Controls.OBC.CDL.Reals.PID", + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "2" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Ti", + "modification": { + "equal": true, + "expression": { + "simple_expression": "2" + } + } + } + } + } + ], + "long_class_specifier_identifier": "ExtendsClause_1", + "within": "FromModelica", + "compositionSpecifier": "public" + } + ] + } +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ExtendsClause_2.json b/test/reference/objects/test/FromModelica/ExtendsClause_2.json index 48bfa741..5214f71d 100644 --- a/test/reference/objects/test/FromModelica/ExtendsClause_2.json +++ b/test/reference/objects/test/FromModelica/ExtendsClause_2.json @@ -1 +1,279 @@ -{"instances":{"ExtendsClause_2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"ExtendsClause_2","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Reals.PID","class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Ti","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}}],"long_class_specifier_identifier":"ExtendsClause_2","within":"FromModelica","compositionSpecifier":"public"},{"name":"Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset","class_modification":[{"element_redeclaration":{"component_clause1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.TrueDelay","component_declaration1":{"declaration":{"identifier":"onDelay","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"delayTime","modification":{"equal":true,"expression":{"simple_expression":"duration"}}}}}]}}}}}},{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"duration","modification":{"equal":true,"expression":{"simple_expression":"300"}}}}}],"long_class_specifier_identifier":"ExtendsClause_2","within":"FromModelica","compositionSpecifier":"public"}]}} \ No newline at end of file +{ + "instances": { + "ExtendsClause_2": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"res\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\ntest...test...test...test...test...\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\ntest...test...test...\n\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {} + }, + "gain": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "ExtendsClause_2", + "single_component_list": { + "declaration": { + "identifier": "gain", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Constant gain", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": -50 + }, + { + "x": -40, + "y": -30 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": -50 + }, + { + "x": -40, + "y": -30 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo" + }, + "length": { + "type_prefix": "parameter", + "type_specifier": "Modelica.SIunits.Length", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "ExtendsClause_2", + "single_component_list": { + "declaration": { + "identifier": "length" + }, + "description": { + "description_string": "Length of the pipe" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo" + }, + "ARound": { + "type_prefix": "parameter", + "type_specifier": "Modelica.SIunits.Area", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "ExtendsClause_2", + "single_component_list": { + "declaration": { + "identifier": "ARound", + "modification": { + "equal": true, + "expression": { + "simple_expression": "dh^2*Modelica.Constants.pi/4" + } + } + }, + "description": { + "description_string": "Cross sectional area (assuming a round cross section area)" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo" + } + }, + "requiredReferences": { + "extends_clause": [ + { + "name": "Buildings.Controls.OBC.CDL.Reals.PID", + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "2" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Ti", + "modification": { + "equal": true, + "expression": { + "simple_expression": "2" + } + } + } + } + } + ], + "long_class_specifier_identifier": "ExtendsClause_2", + "within": "FromModelica", + "compositionSpecifier": "public" + }, + { + "name": "Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset", + "class_modification": [ + { + "element_redeclaration": { + "component_clause1": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", + "component_declaration1": { + "declaration": { + "identifier": "onDelay", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "delayTime", + "modification": { + "equal": true, + "expression": { + "simple_expression": "duration" + } + } + } + } + } + ] + } + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "duration", + "modification": { + "equal": true, + "expression": { + "simple_expression": "300" + } + } + } + } + } + ], + "long_class_specifier_identifier": "ExtendsClause_2", + "within": "FromModelica", + "compositionSpecifier": "public" + } + ] + } +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ExtendsClause_3.json b/test/reference/objects/test/FromModelica/ExtendsClause_3.json index 3036e98a..523c9f7d 100644 --- a/test/reference/objects/test/FromModelica/ExtendsClause_3.json +++ b/test/reference/objects/test/FromModelica/ExtendsClause_3.json @@ -1 +1,221 @@ -{"instances":{"ExtendsClause_3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"res\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...test...test...\n\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"revisions","modification":{"equal":true,"expression":{"simple_expression":"\"\ntest...test...test...\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-60,"y":-50},{"x":-40,"y":-30}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"},"length":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Length","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"length"},"description":{"description_string":"Length of the pipe"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"},"ARound":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Area","type":"element","compositionSpecifier":"protected","long_class_specifier_identifier":"ExtendsClause_3","single_component_list":{"declaration":{"identifier":"ARound","modification":{"equal":true,"expression":{"simple_expression":"dh^2*Modelica.Constants.pi/4"}}},"description":{"description_string":"Cross sectional area (assuming a round cross section area)"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo"}},"requiredReferences":{"extends_clause":[{"name":"Buildings.Controls.OBC.CDL.Constants","long_class_specifier_identifier":"ExtendsClause_3","within":"FromModelica","compositionSpecifier":"public"},{"name":"Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset","class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"duration","modification":{"equal":true,"expression":{"simple_expression":"300"}}}}}],"long_class_specifier_identifier":"ExtendsClause_3","within":"FromModelica","compositionSpecifier":"public"}]}} \ No newline at end of file +{ + "instances": { + "ExtendsClause_3": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"res\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\ntest...test...test...test...test...\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\ntest...test...test...\n\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {} + }, + "gain": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "ExtendsClause_3", + "single_component_list": { + "declaration": { + "identifier": "gain", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Constant gain", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": -50 + }, + { + "x": -40, + "y": -30 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -60, + "y": -50 + }, + { + "x": -40, + "y": -30 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo" + }, + "length": { + "type_prefix": "parameter", + "type_specifier": "Modelica.SIunits.Length", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "ExtendsClause_3", + "single_component_list": { + "declaration": { + "identifier": "length" + }, + "description": { + "description_string": "Length of the pipe" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo" + }, + "ARound": { + "type_prefix": "parameter", + "type_specifier": "Modelica.SIunits.Area", + "type": "element", + "compositionSpecifier": "protected", + "long_class_specifier_identifier": "ExtendsClause_3", + "single_component_list": { + "declaration": { + "identifier": "ARound", + "modification": { + "equal": true, + "expression": { + "simple_expression": "dh^2*Modelica.Constants.pi/4" + } + } + }, + "description": { + "description_string": "Cross sectional area (assuming a round cross section area)" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo" + } + }, + "requiredReferences": { + "extends_clause": [ + { + "name": "Buildings.Controls.OBC.CDL.Constants", + "long_class_specifier_identifier": "ExtendsClause_3", + "within": "FromModelica", + "compositionSpecifier": "public" + }, + { + "name": "Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset", + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "duration", + "modification": { + "equal": true, + "expression": { + "simple_expression": "300" + } + } + } + } + } + ], + "long_class_specifier_identifier": "ExtendsClause_3", + "within": "FromModelica", + "compositionSpecifier": "public" + } + ] + } +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json b/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json index 282dbed8..a16d20f4 100644 --- a/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json +++ b/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json @@ -1 +1,80 @@ -{"instances":{"MisplacedInfoWithComponent":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo","type":"long_class_specifier"},"bloPub":{"type_specifier":"Block1","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithComponent","single_component_list":{"declaration":{"identifier":"bloPub"},"description":{"description_string":"A public block","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "MisplacedInfoWithComponent": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo", + "type": "long_class_specifier" + }, + "bloPub": { + "type_specifier": "Block1", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MisplacedInfoWithComponent", + "single_component_list": { + "declaration": { + "identifier": "bloPub" + }, + "description": { + "description_string": "A public block", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis is the info section.\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis is the info section.\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json b/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json index 6027cbad..bb07ed1b 100644 --- a/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json +++ b/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json @@ -1 +1,335 @@ -{"instances":{"MisplacedInfoWithEquation":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo","type":"long_class_specifier"},"k":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"k","modification":{"equal":true,"expression":{"simple_expression":"2"}}},"description":{"description_string":"Constant gain"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"y1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"y1"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"y2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"y2"},"description":{"description_string":"Output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"},"gain":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithEquation","single_component_list":{"declaration":{"identifier":"gain","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k"}}}}}]}},"description":{"description_string":"Constant gain","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":0,"y":-10},{"x":20,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":0,"y":-10},{"x":20,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo"}},"requiredReferences":{"connections":{"u":["gain.u"],"gain.y":["y1"]}}} \ No newline at end of file +{ + "instances": { + "MisplacedInfoWithEquation": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo", + "type": "long_class_specifier" + }, + "k": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MisplacedInfoWithEquation", + "single_component_list": { + "declaration": { + "identifier": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "2" + } + } + }, + "description": { + "description_string": "Constant gain" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo" + }, + "u": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MisplacedInfoWithEquation", + "single_component_list": { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo" + }, + "y1": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MisplacedInfoWithEquation", + "single_component_list": { + "declaration": { + "identifier": "y1" + }, + "description": { + "description_string": "Output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -10 + }, + { + "x": 120, + "y": 10 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -10 + }, + { + "x": 120, + "y": 10 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo" + }, + "y2": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MisplacedInfoWithEquation", + "single_component_list": { + "declaration": { + "identifier": "y2" + }, + "description": { + "description_string": "Output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -10 + }, + { + "x": 120, + "y": 10 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -10 + }, + { + "x": 120, + "y": 10 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo" + }, + "gain": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MisplacedInfoWithEquation", + "single_component_list": { + "declaration": { + "identifier": "gain", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Constant gain", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 0, + "y": -10 + }, + { + "x": 20, + "y": 10 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 0, + "y": -10 + }, + { + "x": 20, + "y": 10 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo" + } + }, + "requiredReferences": { + "connections": { + "u": [ + "gain.u" + ], + "gain.y": [ + "y1" + ] + } + } +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json b/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json index 41d90fc8..edfc8e1a 100644 --- a/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json +++ b/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json @@ -1 +1,87 @@ -{"instances":{"MisplacedInfoWithParameter":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MisplacedInfoWithParameter","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "MisplacedInfoWithParameter": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo", + "type": "long_class_specifier" + }, + "kP": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MisplacedInfoWithParameter", + "single_component_list": { + "declaration": { + "identifier": "kP", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis is the info section.\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis is the info section.\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MyController.json b/test/reference/objects/test/FromModelica/MyController.json index 77992421..3a258f3b 100644 --- a/test/reference/objects/test/FromModelica/MyController.json +++ b/test/reference/objects/test/FromModelica/MyController.json @@ -1 +1,1126 @@ -{"instances":{"MyController":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{},"cdl_annotations":{"generatePointlist":"true","controlledDevice":"\"My Device\""}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"add2":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"subCon1":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"subCon1"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}],"semantics":{},"cdl_annotations":{"generatePointlist":"true"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"},"subCon2":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyController","single_component_list":{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo"}},"requiredReferences":{"connections":{"u1":["add2.u1"],"u2":["add2.u2","subCon1.u","subCon2.u"],"add2.y":["y"]}}} \ No newline at end of file +{ + "instances": { + "MyController": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "controlledDevice", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"My Device\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"myCon\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": 140 + } + ], + "textString": "\"%name\"", + "lineColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "generatePointlist": "true", + "controlledDevice": "\"My Device\"" + } + }, + "u1": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MyController", + "single_component_list": { + "declaration": { + "identifier": "u1" + }, + "description": { + "description_string": "Real input 1", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "connection": { + "hardwired": "true" + }, + "trend": { + "interval": "60", + "enable": "true" + } + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo" + }, + "u2": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MyController", + "single_component_list": { + "declaration": { + "identifier": "u2" + }, + "description": { + "description_string": "Real input 2", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -60 + }, + { + "x": -100, + "y": -20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -60 + }, + { + "x": -100, + "y": -20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "connection": { + "hardwired": "true" + }, + "trend": { + "interval": "60", + "enable": "true" + } + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo" + }, + "y": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MyController", + "single_component_list": { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Real output", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "connection": { + "hardwired": "true" + }, + "trend": { + "interval": "60", + "enable": "true" + } + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo" + }, + "add2": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MyController", + "single_component_list": { + "declaration": { + "identifier": "add2" + }, + "description": { + "description_string": "Add two real inputs", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -10 + }, + { + "x": 10, + "y": 10 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -10 + }, + { + "x": 10, + "y": 10 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo" + }, + "subCon1": { + "type_specifier": "SubController", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MyController", + "single_component_list": { + "declaration": { + "identifier": "subCon1" + }, + "description": { + "description_string": "Sub controller", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -50 + }, + { + "x": 10, + "y": -30 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -50 + }, + { + "x": 10, + "y": -30 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "generatePointlist": "true" + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo" + }, + "subCon2": { + "type_specifier": "SubController", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MyController", + "single_component_list": { + "declaration": { + "identifier": "subCon2" + }, + "description": { + "description_string": "Sub controller", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -90 + }, + { + "x": 10, + "y": -70 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -90 + }, + { + "x": 10, + "y": -70 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo" + } + }, + "requiredReferences": { + "connections": { + "u1": [ + "add2.u1" + ], + "u2": [ + "add2.u2", + "subCon1.u", + "subCon2.u" + ], + "add2.y": [ + "y" + ] + } + } +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MyControllerWithExportAnnotation1.json b/test/reference/objects/test/FromModelica/MyControllerWithExportAnnotation1.json index 220edff0..b5192bb4 100644 --- a/test/reference/objects/test/FromModelica/MyControllerWithExportAnnotation1.json +++ b/test/reference/objects/test/FromModelica/MyControllerWithExportAnnotation1.json @@ -1 +1,1237 @@ -{"instances":{"MyControllerWithExportAnnotation1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device2\""}}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{},"cdl_annotations":{"propagate":[{"instance":"\"subCon2\"","generatePointlist":"true","controlledDevice":"\"My Device\""},{"instance":"\"subCon1\"","generatePointlist":"false","controlledDevice":"\"My Device2\""}]}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithExportAnnotation1","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithExportAnnotation1","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithExportAnnotation1","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo"},"add2":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithExportAnnotation1","single_component_list":{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo"},"subCon1":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithExportAnnotation1","single_component_list":{"declaration":{"identifier":"subCon1"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"export","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"export","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}],"semantics":{},"cdl_annotations":{"generatePointlist":"true","export":"true"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo"},"subCon2":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithExportAnnotation1","single_component_list":{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Sub controller","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo"}},"requiredReferences":{"connections":{"u1":["add2.u1"],"u2":["add2.u2","subCon1.u","subCon2.u"],"add2.y":["y"]}}} \ No newline at end of file +{ + "instances": { + "MyControllerWithExportAnnotation1": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "propagate", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "instance", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"subCon2\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "controlledDevice", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"My Device\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "propagate", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "instance", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"subCon1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "false" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "controlledDevice", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"My Device2\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"myCon\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": 140 + } + ], + "textString": "\"%name\"", + "lineColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "propagate": [ + { + "instance": "\"subCon2\"", + "generatePointlist": "true", + "controlledDevice": "\"My Device\"" + }, + { + "instance": "\"subCon1\"", + "generatePointlist": "false", + "controlledDevice": "\"My Device2\"" + } + ] + } + }, + "u1": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MyControllerWithExportAnnotation1", + "single_component_list": { + "declaration": { + "identifier": "u1" + }, + "description": { + "description_string": "Real input 1", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "connection": { + "hardwired": "true" + }, + "trend": { + "interval": "60", + "enable": "true" + } + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo" + }, + "u2": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MyControllerWithExportAnnotation1", + "single_component_list": { + "declaration": { + "identifier": "u2" + }, + "description": { + "description_string": "Real input 2", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -60 + }, + { + "x": -100, + "y": -20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -60 + }, + { + "x": -100, + "y": -20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "connection": { + "hardwired": "true" + }, + "trend": { + "interval": "60", + "enable": "true" + } + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo" + }, + "y": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MyControllerWithExportAnnotation1", + "single_component_list": { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Real output", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "connection": { + "hardwired": "true" + }, + "trend": { + "interval": "60", + "enable": "true" + } + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo" + }, + "add2": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MyControllerWithExportAnnotation1", + "single_component_list": { + "declaration": { + "identifier": "add2" + }, + "description": { + "description_string": "Add two real inputs", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -10 + }, + { + "x": 10, + "y": 10 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -10 + }, + { + "x": 10, + "y": 10 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo" + }, + "subCon1": { + "type_specifier": "SubController", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MyControllerWithExportAnnotation1", + "single_component_list": { + "declaration": { + "identifier": "subCon1" + }, + "description": { + "description_string": "Sub controller", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -50 + }, + { + "x": 10, + "y": -30 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "export", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -50 + }, + { + "x": 10, + "y": -30 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "export", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "generatePointlist": "true", + "export": "true" + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo" + }, + "subCon2": { + "type_specifier": "SubController", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MyControllerWithExportAnnotation1", + "single_component_list": { + "declaration": { + "identifier": "subCon2" + }, + "description": { + "description_string": "Sub controller", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -90 + }, + { + "x": 10, + "y": -70 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -90 + }, + { + "x": 10, + "y": -70 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo" + } + }, + "requiredReferences": { + "connections": { + "u1": [ + "add2.u1" + ], + "u2": [ + "add2.u2", + "subCon1.u", + "subCon2.u" + ], + "add2.y": [ + "y" + ] + } + } +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json b/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json index de3d464d..57c97444 100644 --- a/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json +++ b/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json @@ -1 +1,1381 @@ -{"instances":{"MyControllerWithSemantics":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"My Device\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . "}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"myCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"@prefix Brick: .\n @prefix bldg: . \n"},"cdl_annotations":{"generatePointlist":"true","controlledDevice":"\"My Device\"","semantic":{"metadataLanguage":"\"Brick 1.3 text/turtle\""}}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Real input 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Temperature_Sensor ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Temperature_Sensor ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"bldg: a Brick:Temperature_Sensor .\n","en":" is a temperature sensor input\n"},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"},"semantic":{"metadataLanguage":"\"Brick 1.3 text/turtle\"","naturalLanguage":"\"en\""}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Real input 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a temperature sensor input"}}}]}}}}]}}}}],"semantics":{"en":" is a temperature sensor input\n"},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"},"semantic":{"naturalLanguage":"\"en\""}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"add2":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Add","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"add2"},"description":{"description_string":"Add two real inputs","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"heaCoi":{"type_specifier":"SubController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"heaCoi"},"description":{"description_string":"Heating Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Heating_Coil ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a heating coil."}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-50},{"x":10,"y":-30}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"bldg: a Brick:Heating_Coil ."}}},{"element_modification_or_replaceable":{"element_modification":{"name":"naturalLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"en\""}},"description_string":" is a heating coil."}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"bldg: a Brick:Heating_Coil .\n","en":" is a heating coil.\n"},"cdl_annotations":{"generatePointlist":"true","semantic":{"metadataLanguage":"\"Brick 1.3 text/turtle\"","naturalLanguage":"\"en\""}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"},"subCon2":{"type_specifier":"SubControllerWithSemantics","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"MyControllerWithSemantics","single_component_list":{"declaration":{"identifier":"subCon2"},"description":{"description_string":"Cooling Coil","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-90},{"x":10,"y":-70}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo"}},"requiredReferences":{"connections":{"u1":["add2.u1"],"u2":["add2.u2","heaCoi.u","subCon2.u"],"add2.y":["y"]}}} \ No newline at end of file +{ + "instances": { + "MyControllerWithSemantics": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "controlledDevice", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"My Device\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "semantic", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "metadataLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Brick 1.3 text/turtle\"" + } + }, + "description_string": "@prefix Brick: .\n @prefix bldg: . " + } + } + } + ] + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"myCon\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": 140 + } + ], + "textString": "\"%name\"", + "lineColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + } + ], + "semantics": { + "Brick 1.3 text/turtle": "@prefix Brick: .\n @prefix bldg: . \n" + }, + "cdl_annotations": { + "generatePointlist": "true", + "controlledDevice": "\"My Device\"", + "semantic": { + "metadataLanguage": "\"Brick 1.3 text/turtle\"" + } + } + }, + "u1": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MyControllerWithSemantics", + "single_component_list": { + "declaration": { + "identifier": "u1" + }, + "description": { + "description_string": "Real input 1", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "semantic", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "metadataLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Brick 1.3 text/turtle\"" + } + }, + "description_string": "bldg: a Brick:Temperature_Sensor ." + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "naturalLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"en\"" + } + }, + "description_string": " is a temperature sensor input" + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "semantic", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "metadataLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Brick 1.3 text/turtle\"" + } + }, + "description_string": "bldg: a Brick:Temperature_Sensor ." + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "naturalLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"en\"" + } + }, + "description_string": " is a temperature sensor input" + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": { + "Brick 1.3 text/turtle": "bldg: a Brick:Temperature_Sensor .\n", + "en": " is a temperature sensor input\n" + }, + "cdl_annotations": { + "connection": { + "hardwired": "true" + }, + "trend": { + "interval": "60", + "enable": "true" + }, + "semantic": { + "metadataLanguage": "\"Brick 1.3 text/turtle\"", + "naturalLanguage": "\"en\"" + } + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo" + }, + "u2": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MyControllerWithSemantics", + "single_component_list": { + "declaration": { + "identifier": "u2" + }, + "description": { + "description_string": "Real input 2", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -60 + }, + { + "x": -100, + "y": -20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "semantic", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "naturalLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"en\"" + } + }, + "description_string": " is a temperature sensor input" + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -60 + }, + { + "x": -100, + "y": -20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "semantic", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "naturalLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"en\"" + } + }, + "description_string": " is a temperature sensor input" + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": { + "en": " is a temperature sensor input\n" + }, + "cdl_annotations": { + "connection": { + "hardwired": "true" + }, + "trend": { + "interval": "60", + "enable": "true" + }, + "semantic": { + "naturalLanguage": "\"en\"" + } + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo" + }, + "y": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MyControllerWithSemantics", + "single_component_list": { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Real output", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "connection": { + "hardwired": "true" + }, + "trend": { + "interval": "60", + "enable": "true" + } + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo" + }, + "add2": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Add", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MyControllerWithSemantics", + "single_component_list": { + "declaration": { + "identifier": "add2" + }, + "description": { + "description_string": "Add two real inputs", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -10 + }, + { + "x": 10, + "y": 10 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -10 + }, + { + "x": 10, + "y": 10 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo" + }, + "heaCoi": { + "type_specifier": "SubController", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MyControllerWithSemantics", + "single_component_list": { + "declaration": { + "identifier": "heaCoi" + }, + "description": { + "description_string": "Heating Coil", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -50 + }, + { + "x": 10, + "y": -30 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "semantic", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "metadataLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Brick 1.3 text/turtle\"" + } + }, + "description_string": "bldg: a Brick:Heating_Coil ." + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "naturalLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"en\"" + } + }, + "description_string": " is a heating coil." + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -50 + }, + { + "x": 10, + "y": -30 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "semantic", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "metadataLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Brick 1.3 text/turtle\"" + } + }, + "description_string": "bldg: a Brick:Heating_Coil ." + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "naturalLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"en\"" + } + }, + "description_string": " is a heating coil." + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": { + "Brick 1.3 text/turtle": "bldg: a Brick:Heating_Coil .\n", + "en": " is a heating coil.\n" + }, + "cdl_annotations": { + "generatePointlist": "true", + "semantic": { + "metadataLanguage": "\"Brick 1.3 text/turtle\"", + "naturalLanguage": "\"en\"" + } + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo" + }, + "subCon2": { + "type_specifier": "SubControllerWithSemantics", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "MyControllerWithSemantics", + "single_component_list": { + "declaration": { + "identifier": "subCon2" + }, + "description": { + "description_string": "Cooling Coil", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -90 + }, + { + "x": 10, + "y": -70 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -90 + }, + { + "x": 10, + "y": -70 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo" + } + }, + "requiredReferences": { + "connections": { + "u1": [ + "add2.u1" + ], + "u2": [ + "add2.u2", + "heaCoi.u", + "subCon2.u" + ], + "add2.y": [ + "y" + ] + } + } +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/NoClassComment.json b/test/reference/objects/test/FromModelica/NoClassComment.json index c39e41f7..d95c913a 100644 --- a/test/reference/objects/test/FromModelica/NoClassComment.json +++ b/test/reference/objects/test/FromModelica/NoClassComment.json @@ -1 +1,36 @@ -{"instances":{"NoClassComment":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"NoClassComment","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "NoClassComment": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo", + "type": "long_class_specifier" + }, + "kP": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "NoClassComment", + "single_component_list": { + "declaration": { + "identifier": "kP", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/NoWithin.json b/test/reference/objects/test/FromModelica/NoWithin.json index ed0efd80..a12c4456 100644 --- a/test/reference/objects/test/FromModelica/NoWithin.json +++ b/test/reference/objects/test/FromModelica/NoWithin.json @@ -1 +1,36 @@ -{"instances":{"FromModelica":{"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo","type":"long_class_specifier"},"one":{"type_prefix":"constant","type_specifier":"Integer","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"FromModelica","single_component_list":{"declaration":{"identifier":"one","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"An integer constant with value 1"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "FromModelica": { + "within": null, + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo", + "type": "long_class_specifier" + }, + "one": { + "type_prefix": "constant", + "type_specifier": "Integer", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "FromModelica", + "single_component_list": { + "declaration": { + "identifier": "one", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "An integer constant with value 1" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": null, + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Parameter1.json b/test/reference/objects/test/FromModelica/Parameter1.json index b1502f64..e21a3d2c 100644 --- a/test/reference/objects/test/FromModelica/Parameter1.json +++ b/test/reference/objects/test/FromModelica/Parameter1.json @@ -1 +1,36 @@ -{"instances":{"Parameter1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter1","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "Parameter1": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo", + "type": "long_class_specifier" + }, + "kP": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Parameter1", + "single_component_list": { + "declaration": { + "identifier": "kP", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json b/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json index 55706c52..7bcd1979 100644 --- a/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json +++ b/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json @@ -1 +1,143 @@ -{"instances":{"Parameter1WithVendorAnnotation":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo","type":"long_class_specifier"},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter1WithVendorAnnotation","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}}],"semantics":{},"cdl_annotations":{"haystack":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\"","brick":"\"xxxxx\"","point":"digital"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "Parameter1WithVendorAnnotation": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo", + "type": "long_class_specifier" + }, + "kP": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Parameter1WithVendorAnnotation", + "single_component_list": { + "declaration": { + "identifier": "kP", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "haystack", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "brick", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"xxxxx\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "point", + "modification": { + "equal": true, + "expression": { + "simple_expression": "digital" + } + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "haystack", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "brick", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"xxxxx\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "point", + "modification": { + "equal": true, + "expression": { + "simple_expression": "digital" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "haystack": "\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\"", + "brick": "\"xxxxx\"", + "point": "digital" + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Parameter2.json b/test/reference/objects/test/FromModelica/Parameter2.json index 26edbf37..becdf068 100644 --- a/test/reference/objects/test/FromModelica/Parameter2.json +++ b/test/reference/objects/test/FromModelica/Parameter2.json @@ -1 +1,503 @@ -{"instances":{"Parameter2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo","type":"long_class_specifier"},"myPar1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myPar1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParNoValue":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParNoValue"},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParMin":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParMin","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParMax":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParMax","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParUnit":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParUnit","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}}]}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInGroup":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInGroup"},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Gains\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Gains\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTab":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTab"},"description":{"description_string":"Some comment","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTabInGroup1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTabInGroup1"},"description":{"description_string":"Some comment 1","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"},"myParInTabInGroup2":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter2","single_component_list":{"declaration":{"identifier":"myParInTabInGroup2"},"description":{"description_string":"Some comment 2","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Dialog","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"tab","modification":{"equal":true,"expression":{"simple_expression":"\"Initialization tab\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"group","modification":{"equal":true,"expression":{"simple_expression":"\"Initial state\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "Parameter2": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo", + "type": "long_class_specifier" + }, + "myPar1": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Parameter2", + "single_component_list": { + "declaration": { + "identifier": "myPar1", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo" + }, + "myParNoValue": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Parameter2", + "single_component_list": { + "declaration": { + "identifier": "myParNoValue" + }, + "description": { + "description_string": "Some comment" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo" + }, + "myParMin": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Parameter2", + "single_component_list": { + "declaration": { + "identifier": "myParMin", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Some comment" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo" + }, + "myParMax": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Parameter2", + "single_component_list": { + "declaration": { + "identifier": "myParMax", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Some comment" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo" + }, + "myParUnit": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Parameter2", + "single_component_list": { + "declaration": { + "identifier": "myParUnit", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Some comment" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo" + }, + "myParInGroup": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Parameter2", + "single_component_list": { + "declaration": { + "identifier": "myParInGroup" + }, + "description": { + "description_string": "Some comment", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Gains\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Gains\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo" + }, + "myParInTab": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Parameter2", + "single_component_list": { + "declaration": { + "identifier": "myParInTab" + }, + "description": { + "description_string": "Some comment", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initialization tab\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initialization tab\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo" + }, + "myParInTabInGroup1": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Parameter2", + "single_component_list": { + "declaration": { + "identifier": "myParInTabInGroup1" + }, + "description": { + "description_string": "Some comment 1", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initialization tab\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initial state\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initialization tab\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initial state\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo" + }, + "myParInTabInGroup2": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Parameter2", + "single_component_list": { + "declaration": { + "identifier": "myParInTabInGroup2" + }, + "description": { + "description_string": "Some comment 2", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initialization tab\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initial state\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Dialog", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "tab", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initialization tab\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "group", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Initial state\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Parameter3.json b/test/reference/objects/test/FromModelica/Parameter3.json index 209be69c..ad440f27 100644 --- a/test/reference/objects/test/FromModelica/Parameter3.json +++ b/test/reference/objects/test/FromModelica/Parameter3.json @@ -1 +1,56 @@ -{"instances":{"Parameter3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo","type":"long_class_specifier"},"myPar1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter3","single_component_list":{"declaration":{"identifier":"myPar1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo"},"myParUnit":{"type_prefix":"parameter","type_specifier":"Modelica.SIunits.Temperature","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"Parameter3","single_component_list":{"declaration":{"identifier":"myParUnit"},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "Parameter3": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo", + "type": "long_class_specifier" + }, + "myPar1": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Parameter3", + "single_component_list": { + "declaration": { + "identifier": "myPar1", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo" + }, + "myParUnit": { + "type_prefix": "parameter", + "type_specifier": "Modelica.SIunits.Temperature", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "Parameter3", + "single_component_list": { + "declaration": { + "identifier": "myParUnit" + }, + "description": { + "description_string": "Some comment" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ParameterWithAttributes.json b/test/reference/objects/test/FromModelica/ParameterWithAttributes.json index e585ccd6..c33be3df 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithAttributes.json +++ b/test/reference/objects/test/FromModelica/ParameterWithAttributes.json @@ -1 +1,170 @@ -{"instances":{"ParameterWithAttributes":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithAttributes","single_component_list":{"declaration":{"identifier":"kP","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"start","modification":{"equal":true,"expression":{"simple_expression":"0.2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"fixed","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"max","modification":{"equal":true,"expression":{"simple_expression":"2"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"PressureDifference\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"Pa\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"nominal","modification":{"equal":true,"expression":{"simple_expression":"0.5"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"stateSelect","modification":{"equal":true,"expression":{"simple_expression":"StateSelect.default"}}}}}],"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "ParameterWithAttributes": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis is the info section.\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {} + }, + "kP": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "ParameterWithAttributes", + "single_component_list": { + "declaration": { + "identifier": "kP", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "start", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0.2" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "fixed", + "modification": { + "equal": true, + "expression": { + "simple_expression": "false" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "max", + "modification": { + "equal": true, + "expression": { + "simple_expression": "2" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"PressureDifference\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Pa\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "nominal", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0.5" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "stateSelect", + "modification": { + "equal": true, + "expression": { + "simple_expression": "StateSelect.default" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json b/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json index e174ad59..da7989a0 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json +++ b/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json @@ -1 +1,77 @@ -{"instances":{"ParameterWithDefaultName":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"testName\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithDefaultName","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "ParameterWithDefaultName": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"testName\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis is the info section.\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {} + }, + "kP": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "ParameterWithDefaultName", + "single_component_list": { + "declaration": { + "identifier": "kP", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ParameterWithInfo.json b/test/reference/objects/test/FromModelica/ParameterWithInfo.json index 36de8c19..8a8e57e3 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithInfo.json +++ b/test/reference/objects/test/FromModelica/ParameterWithInfo.json @@ -1 +1,64 @@ -{"instances":{"ParameterWithInfo":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithInfo","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "ParameterWithInfo": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis is the info section.\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {} + }, + "kP": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "ParameterWithInfo", + "single_component_list": { + "declaration": { + "identifier": "kP", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json b/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json index d0cb7c3c..ecec1e73 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json +++ b/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json @@ -1 +1,118 @@ -{"instances":{"ParameterWithVendorAnnotationInInfo":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"haystack","modification":{"equal":true,"expression":{"simple_expression":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"brick","modification":{"equal":true,"expression":{"simple_expression":"\"xxxxx\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"point","modification":{"equal":true,"expression":{"simple_expression":"digital"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Documentation","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"info","modification":{"equal":true,"expression":{"simple_expression":"\"\n

\nThis is the info section.\n

\n\""}}}}}]}}}}],"semantics":{},"cdl_annotations":{"haystack":"\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\"","brick":"\"xxxxx\"","point":"digital"}},"kP":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"ParameterWithVendorAnnotationInInfo","single_component_list":{"declaration":{"identifier":"kP","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Some comment"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "ParameterWithVendorAnnotationInInfo": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "haystack", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "brick", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"xxxxx\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "point", + "modification": { + "equal": true, + "expression": { + "simple_expression": "digital" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nThis is the info section.\n

\n\"" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "haystack": "\"{ \\\"dis\\\": \\\"site\\\",\n \\\"area\\\": 400 }\"", + "brick": "\"xxxxx\"", + "point": "digital" + } + }, + "kP": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "ParameterWithVendorAnnotationInInfo", + "single_component_list": { + "declaration": { + "identifier": "kP", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Some comment" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/PointList.json b/test/reference/objects/test/FromModelica/PointList.json index 3163fa1b..366af797 100644 --- a/test/reference/objects/test/FromModelica/PointList.json +++ b/test/reference/objects/test/FromModelica/PointList.json @@ -1 +1,1666 @@ -{"instances":{"PointList":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Test device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"poiLis\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{},"cdl_annotations":{"generatePointlist":"true","controlledDevice":"\"Test device\""}},"u1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"u1"},"description":{"description_string":"Input one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"u2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"u2"},"description":{"description_string":"Input two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"false"},"trend":{"interval":"120","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"y1":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"y1"},"description":{"description_string":"Output one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]},"iconTransformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]},"iconTransformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"y2":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"y2"},"description":{"description_string":"Output two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]},"iconTransformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":40},{"x":140,"y":80}]},"iconTransformation":{"extent":[{"x":100,"y":-80},{"x":140,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"false"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"false"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"con1":{"type_specifier":"MyController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"con1"},"description":{"description_string":"Subcontroller one","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2.u\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":50},{"x":10,"y":70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon1\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"propagate","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"instance","modification":{"equal":true,"expression":{"simple_expression":"\"subCon2.u\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"120"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":50},{"x":10,"y":70}]}}}}}],"semantics":{},"cdl_annotations":{"propagate":[{"instance":"\"subCon1\"","generatePointlist":"true"},{"instance":"\"subCon2\"","generatePointlist":"true"},{"instance":"\"subCon2.u\"","connection":{"hardwired":"true"},"trend":{"interval":"120","enable":"true"}}]},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"},"con2":{"type_specifier":"MyController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"PointList","single_component_list":{"declaration":{"identifier":"con2"},"description":{"description_string":"Subcontroller two","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-70},{"x":10,"y":-50}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-70},{"x":10,"y":-50}]}}}}}],"semantics":{},"cdl_annotations":{"generatePointlist":"true"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo"}},"requiredReferences":{"connections":{"u1":["con1.u1","con2.u1"],"u2":["con1.u2","con2.u2"],"con1.y":["y2"],"con2.y":["y1"]}}} \ No newline at end of file +{ + "instances": { + "PointList": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "controlledDevice", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Test device\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"poiLis\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": 140 + } + ], + "textString": "\"%name\"", + "lineColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "generatePointlist": "true", + "controlledDevice": "\"Test device\"" + } + }, + "u1": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "PointList", + "single_component_list": { + "declaration": { + "identifier": "u1" + }, + "description": { + "description_string": "Input one", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "connection": { + "hardwired": "true" + }, + "trend": { + "interval": "60", + "enable": "true" + } + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo" + }, + "u2": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "PointList", + "single_component_list": { + "declaration": { + "identifier": "u2" + }, + "description": { + "description_string": "Input two", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "false" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "120" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "false" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "120" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "connection": { + "hardwired": "false" + }, + "trend": { + "interval": "120", + "enable": "true" + } + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo" + }, + "y1": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "PointList", + "single_component_list": { + "declaration": { + "identifier": "y1" + }, + "description": { + "description_string": "Output one", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -80 + }, + { + "x": 140, + "y": -40 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": 40 + }, + { + "x": 140, + "y": 80 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -80 + }, + { + "x": 140, + "y": -40 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": 40 + }, + { + "x": 140, + "y": 80 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "connection": { + "hardwired": "true" + }, + "trend": { + "interval": "60", + "enable": "true" + } + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo" + }, + "y2": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "PointList", + "single_component_list": { + "declaration": { + "identifier": "y2" + }, + "description": { + "description_string": "Output two", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": 40 + }, + { + "x": 140, + "y": 80 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -80 + }, + { + "x": 140, + "y": -40 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "false" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": 40 + }, + { + "x": 140, + "y": 80 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -80 + }, + { + "x": 140, + "y": -40 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "false" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "connection": { + "hardwired": "false" + }, + "trend": { + "interval": "60", + "enable": "true" + } + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo" + }, + "con1": { + "type_specifier": "MyController", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "PointList", + "single_component_list": { + "declaration": { + "identifier": "con1" + }, + "description": { + "description_string": "Subcontroller one", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "propagate", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "instance", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"subCon1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "propagate", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "instance", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"subCon2\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "propagate", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "instance", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"subCon2.u\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "120" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": 50 + }, + { + "x": 10, + "y": 70 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "propagate", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "instance", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"subCon1\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "propagate", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "instance", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"subCon2\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "propagate", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "instance", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"subCon2.u\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "120" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": 50 + }, + { + "x": 10, + "y": 70 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "propagate": [ + { + "instance": "\"subCon1\"", + "generatePointlist": "true" + }, + { + "instance": "\"subCon2\"", + "generatePointlist": "true" + }, + { + "instance": "\"subCon2.u\"", + "connection": { + "hardwired": "true" + }, + "trend": { + "interval": "120", + "enable": "true" + } + } + ] + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo" + }, + "con2": { + "type_specifier": "MyController", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "PointList", + "single_component_list": { + "declaration": { + "identifier": "con2" + }, + "description": { + "description_string": "Subcontroller two", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -70 + }, + { + "x": 10, + "y": -50 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -70 + }, + { + "x": 10, + "y": -50 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "generatePointlist": "true" + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo" + } + }, + "requiredReferences": { + "connections": { + "u1": [ + "con1.u1", + "con2.u1" + ], + "u2": [ + "con1.u2", + "con2.u2" + ], + "con1.y": [ + "y2" + ], + "con2.y": [ + "y1" + ] + } + } +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/RemovableInputs.json b/test/reference/objects/test/FromModelica/RemovableInputs.json index 67eb12c6..0de4b9b2 100644 --- a/test/reference/objects/test/FromModelica/RemovableInputs.json +++ b/test/reference/objects/test/FromModelica/RemovableInputs.json @@ -1 +1,770 @@ -{"instances":{"RemovableInputs":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo","type":"long_class_specifier"},"enaBlo":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"enaBlo","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Flag for enabling instance"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"have_winSen":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"have_winSen"},"description":{"description_string":"True: there is window status sensor"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"have_occSen":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"have_occSen"},"description":{"description_string":"True: there is occupancy sensor"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"u"},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Temperature input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"TOutWitDef":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"TOutWitDef","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"enaBlo"}},"description":{"description_string":"Temperature input with specified default value","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-70},{"x":-100,"y":-30}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"default","modification":{"equal":true,"expression":{"simple_expression":"300.15"}}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-70},{"x":-100,"y":-30}]},"iconTransformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"default","modification":{"equal":true,"expression":{"simple_expression":"300.15"}}}}}]}}}}],"semantics":{},"cdl_annotations":{"default":"300.15"},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"uWin":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"uWin"},"condition_attribute":{"expression":{"simple_expression":"have_winSen"}},"description":{"description_string":"Window opening status","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-100},{"x":-100,"y":-60}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-100},{"x":-100,"y":-60}]},"iconTransformation":{"extent":[{"x":-140,"y":-110},{"x":-100,"y":-70}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"nOcc":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"nOcc"},"condition_attribute":{"expression":{"simple_expression":"have_occSen"}},"description":{"description_string":"Occupancy","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Output connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-10},{"x":120,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Abs","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"RemovableInputs","single_component_list":{"declaration":{"identifier":"abs"},"condition_attribute":{"expression":{"simple_expression":"not enaBlo"}},"description":{"description_string":"Instance could be conditional disabled","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "RemovableInputs": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo", + "type": "long_class_specifier" + }, + "enaBlo": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "RemovableInputs", + "single_component_list": { + "declaration": { + "identifier": "enaBlo", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + }, + "description": { + "description_string": "Flag for enabling instance" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" + }, + "have_winSen": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "RemovableInputs", + "single_component_list": { + "declaration": { + "identifier": "have_winSen" + }, + "description": { + "description_string": "True: there is window status sensor" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" + }, + "have_occSen": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "RemovableInputs", + "single_component_list": { + "declaration": { + "identifier": "have_occSen" + }, + "description": { + "description_string": "True: there is occupancy sensor" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" + }, + "u": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "RemovableInputs", + "single_component_list": { + "declaration": { + "identifier": "u" + }, + "condition_attribute": { + "expression": { + "simple_expression": "enaBlo" + } + }, + "description": { + "description_string": "Input connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -40 + }, + { + "x": -100, + "y": 0 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -40 + }, + { + "x": -100, + "y": 0 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" + }, + "TOut": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "RemovableInputs", + "single_component_list": { + "declaration": { + "identifier": "TOut", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"ThermodynamicTemperature\"" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "enaBlo" + } + }, + "description": { + "description_string": "Temperature input", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" + }, + "TOutWitDef": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "RemovableInputs", + "single_component_list": { + "declaration": { + "identifier": "TOutWitDef", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"ThermodynamicTemperature\"" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "enaBlo" + } + }, + "description": { + "description_string": "Temperature input with specified default value", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -70 + }, + { + "x": -100, + "y": -30 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "default", + "modification": { + "equal": true, + "expression": { + "simple_expression": "300.15" + } + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -70 + }, + { + "x": -100, + "y": -30 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "default", + "modification": { + "equal": true, + "expression": { + "simple_expression": "300.15" + } + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "default": "300.15" + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" + }, + "uWin": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "RemovableInputs", + "single_component_list": { + "declaration": { + "identifier": "uWin" + }, + "condition_attribute": { + "expression": { + "simple_expression": "have_winSen" + } + }, + "description": { + "description_string": "Window opening status", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -100 + }, + { + "x": -100, + "y": -60 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -110 + }, + { + "x": -100, + "y": -70 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -100 + }, + { + "x": -100, + "y": -60 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -110 + }, + { + "x": -100, + "y": -70 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" + }, + "nOcc": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.IntegerInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "RemovableInputs", + "single_component_list": { + "declaration": { + "identifier": "nOcc" + }, + "condition_attribute": { + "expression": { + "simple_expression": "have_occSen" + } + }, + "description": { + "description_string": "Occupancy", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 60 + }, + { + "x": -100, + "y": 100 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 60 + }, + { + "x": -100, + "y": 100 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 60 + }, + { + "x": -100, + "y": 100 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 60 + }, + { + "x": -100, + "y": 100 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" + }, + "y": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "RemovableInputs", + "single_component_list": { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Output connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -10 + }, + { + "x": 120, + "y": 10 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -10 + }, + { + "x": 120, + "y": 10 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" + }, + "abs": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Abs", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "RemovableInputs", + "single_component_list": { + "declaration": { + "identifier": "abs" + }, + "condition_attribute": { + "expression": { + "simple_expression": "not enaBlo" + } + }, + "description": { + "description_string": "Instance could be conditional disabled", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -8, + "y": -10 + }, + { + "x": 12, + "y": 10 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -8, + "y": -10 + }, + { + "x": 12, + "y": 10 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/SubController.json b/test/reference/objects/test/FromModelica/SubController.json index cce4b99e..726a6a18 100644 --- a/test/reference/objects/test/FromModelica/SubController.json +++ b/test/reference/objects/test/FromModelica/SubController.json @@ -1 +1,638 @@ -{"instances":{"SubController":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Sub Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"subCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{},"cdl_annotations":{"generatePointlist":"true","controlledDevice":"\"Sub Device\""}},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"SubController","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"SubController","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "SubController": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "controlledDevice", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Sub Device\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"subCon\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": 140 + } + ], + "textString": "\"%name\"", + "lineColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "generatePointlist": "true", + "controlledDevice": "\"Sub Device\"" + } + }, + "u": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "SubController", + "single_component_list": { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Real input", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "connection": { + "hardwired": "true" + }, + "trend": { + "interval": "60", + "enable": "true" + } + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo" + }, + "y": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "SubController", + "single_component_list": { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Real output", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "connection": { + "hardwired": "true" + }, + "trend": { + "interval": "60", + "enable": "true" + } + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json b/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json index 8dd46933..4b1150a0 100644 --- a/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json +++ b/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json @@ -1 +1,677 @@ -{"instances":{"SubControllerWithSemantics":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"generatePointlist","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"controlledDevice","modification":{"equal":true,"expression":{"simple_expression":"\"Sub Device\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"defaultComponentName","modification":{"equal":true,"expression":{"simple_expression":"\"subCon\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}},{"element_modification_or_replaceable":{"element_modification":{"graphics":[{"name":"Rectangle","attribute":{"extent":[{"x":-100,"y":-100},{"x":100,"y":100}],"lineColor":{"r":0,"g":0,"b":127},"fillColor":{"r":255,"g":255,"b":255},"fillPattern":"FillPattern.Solid"}},{"name":"Text","attribute":{"extent":[{"x":-100,"y":100},{"x":100,"y":140}],"textString":"\"%name\"","lineColor":{"r":0,"g":0,"b":255}}}]}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"semantic","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"metadataLanguage","modification":{"equal":true,"expression":{"simple_expression":"\"Brick 1.3 text/turtle\""}},"description_string":"@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . "}}}]}}}}]}}}}],"semantics":{"Brick 1.3 text/turtle":"@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . \n"},"cdl_annotations":{"semantic":{"metadataLanguage":"\"Brick 1.3 text/turtle\""}}},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"SubControllerWithSemantics","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"SubControllerWithSemantics","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"__cdl","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"connection","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"hardwired","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"trend","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"interval","modification":{"equal":true,"expression":{"simple_expression":"60"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"enable","modification":{"equal":true,"expression":{"simple_expression":"true"}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{"connection":{"hardwired":"true"},"trend":{"interval":"60","enable":"true"}},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "SubControllerWithSemantics": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "generatePointlist", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "controlledDevice", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Sub Device\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "defaultComponentName", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"subCon\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "lineColor": { + "r": 0, + "g": 0, + "b": 127 + }, + "fillColor": { + "r": 255, + "g": 255, + "b": 255 + }, + "fillPattern": "FillPattern.Solid" + } + }, + { + "name": "Text", + "attribute": { + "extent": [ + { + "x": -100, + "y": 100 + }, + { + "x": 100, + "y": 140 + } + ], + "textString": "\"%name\"", + "lineColor": { + "r": 0, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "semantic", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "metadataLanguage", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"Brick 1.3 text/turtle\"" + } + }, + "description_string": "@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . " + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": { + "Brick 1.3 text/turtle": "@prefix Brick: .\n @prefix bldg: . \n bldg: a Brick:Cooling_Coil . \n" + }, + "cdl_annotations": { + "semantic": { + "metadataLanguage": "\"Brick 1.3 text/turtle\"" + } + } + }, + "u": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "SubControllerWithSemantics", + "single_component_list": { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Real input", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "connection": { + "hardwired": "true" + }, + "trend": { + "interval": "60", + "enable": "true" + } + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo" + }, + "y": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "SubControllerWithSemantics", + "single_component_list": { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Real output", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "__cdl", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "connection", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "hardwired", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "trend", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "interval", + "modification": { + "equal": true, + "expression": { + "simple_expression": "60" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "enable", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": { + "connection": { + "hardwired": "true" + }, + "trend": { + "interval": "60", + "enable": "true" + } + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_1.json b/test/reference/objects/test/FromModelica/TestEvaluation_1.json index a4198858..8aee5abd 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_1.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_1.json @@ -1 +1,194 @@ -{"instances":{"TestEvaluation_1":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uses","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"Buildings","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"version","modification":{"equal":true,"expression":{"simple_expression":"\"8.0.0\""}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"k1":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_1","single_component_list":{"declaration":{"identifier":"k1","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"Constant output value"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo"},"con":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Sources.Constant","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_1","single_component_list":{"declaration":{"identifier":"con","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k1"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":10},{"x":0,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-20,"y":10},{"x":0,"y":30}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "TestEvaluation_1": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "uses", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Buildings", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "version", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"8.0.0\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {} + }, + "k1": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_1", + "single_component_list": { + "declaration": { + "identifier": "k1", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "Constant output value" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo" + }, + "con": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Sources.Constant", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_1", + "single_component_list": { + "declaration": { + "identifier": "con", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k1" + } + } + } + } + } + ] + } + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -20, + "y": 10 + }, + { + "x": 0, + "y": 30 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -20, + "y": 10 + }, + { + "x": 0, + "y": 30 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_2.json b/test/reference/objects/test/FromModelica/TestEvaluation_2.json index 15bae3ff..752d9f48 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_2.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_2.json @@ -1 +1,429 @@ -{"instances":{"TestEvaluation_2":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uses","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"Buildings","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"version","modification":{"equal":true,"expression":{"simple_expression":"\"8.0.0\""}}}}}]}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"uLow":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"uLow","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"min","modification":{"equal":true,"expression":{"simple_expression":"0"}}}}}],"equal":true,"expression":{"simple_expression":"0.5"}}},"description":{"description_string":"if y=true and uuHigh, switch to y=true"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-118,"y":-20},{"x":-78,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-118,"y":-20},{"x":-78,"y":20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Boolean output signal","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":80,"y":-20},{"x":120,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":80,"y":-20},{"x":120,"y":20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"},"hys":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Hysteresis","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_2","single_component_list":{"declaration":{"identifier":"hys","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"uLow","modification":{"equal":true,"expression":{"simple_expression":"uLow"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"uHigh","modification":{"equal":true,"expression":{"simple_expression":"uHigh"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo"}},"requiredReferences":{"connections":{"hys.u":["u"],"hys.y":["y"]}}} \ No newline at end of file +{ + "instances": { + "TestEvaluation_2": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "uses", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Buildings", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "version", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"8.0.0\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {} + }, + "uLow": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_2", + "single_component_list": { + "declaration": { + "identifier": "uLow", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "min", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0" + } + } + } + } + } + ], + "equal": true, + "expression": { + "simple_expression": "0.5" + } + } + }, + "description": { + "description_string": "if y=true and uuHigh, switch to y=true" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo" + }, + "u": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_2", + "single_component_list": { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Real input signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -118, + "y": -20 + }, + { + "x": -78, + "y": 20 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -118, + "y": -20 + }, + { + "x": -78, + "y": 20 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo" + }, + "y": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_2", + "single_component_list": { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Boolean output signal", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 80, + "y": -20 + }, + { + "x": 120, + "y": 20 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 80, + "y": -20 + }, + { + "x": 120, + "y": 20 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo" + }, + "hys": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Hysteresis", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_2", + "single_component_list": { + "declaration": { + "identifier": "hys", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "uLow", + "modification": { + "equal": true, + "expression": { + "simple_expression": "uLow" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "uHigh", + "modification": { + "equal": true, + "expression": { + "simple_expression": "uHigh" + } + } + } + } + } + ] + } + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -10 + }, + { + "x": 10, + "y": 10 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -10 + }, + { + "x": 10, + "y": 10 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo" + } + }, + "requiredReferences": { + "connections": { + "hys.u": [ + "u" + ], + "hys.y": [ + "y" + ] + } + } +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_3.json b/test/reference/objects/test/FromModelica/TestEvaluation_3.json index d0162e4c..50189037 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_3.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_3.json @@ -1 +1,266 @@ -{"instances":{"TestEvaluation_3":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"k1":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"k1","modification":{"equal":true,"expression":{"simple_expression":"true"}}},"description":{"description_string":"Constant output value"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"k2":{"type_prefix":"parameter","type_specifier":"Boolean","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"k2","modification":{"equal":true,"expression":{"simple_expression":"not k1"}}}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"con":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"con","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k2"}}}}}]}},"condition_attribute":{"expression":{"simple_expression":"not k1"}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":10},{"x":10,"y":30}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":10},{"x":10,"y":30}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"},"con1":{"type_specifier":"Buildings.Controls.OBC.CDL.Logical.Sources.Constant","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_3","single_component_list":{"declaration":{"identifier":"con1","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"k","modification":{"equal":true,"expression":{"simple_expression":"k1"}}}}}]}},"description":{"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-30},{"x":12,"y":-10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-30},{"x":12,"y":-10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "TestEvaluation_3": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {} + }, + "k1": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_3", + "single_component_list": { + "declaration": { + "identifier": "k1", + "modification": { + "equal": true, + "expression": { + "simple_expression": "true" + } + } + }, + "description": { + "description_string": "Constant output value" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo" + }, + "k2": { + "type_prefix": "parameter", + "type_specifier": "Boolean", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_3", + "single_component_list": { + "declaration": { + "identifier": "k2", + "modification": { + "equal": true, + "expression": { + "simple_expression": "not k1" + } + } + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo" + }, + "con": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Sources.Constant", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_3", + "single_component_list": { + "declaration": { + "identifier": "con", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k2" + } + } + } + } + } + ] + } + }, + "condition_attribute": { + "expression": { + "simple_expression": "not k1" + } + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": 10 + }, + { + "x": 10, + "y": 30 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": 10 + }, + { + "x": 10, + "y": 30 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo" + }, + "con1": { + "type_specifier": "Buildings.Controls.OBC.CDL.Logical.Sources.Constant", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_3", + "single_component_list": { + "declaration": { + "identifier": "con1", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "k1" + } + } + } + } + } + ] + } + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -8, + "y": -30 + }, + { + "x": 12, + "y": -10 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -8, + "y": -30 + }, + { + "x": 12, + "y": -10 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_4.json b/test/reference/objects/test/FromModelica/TestEvaluation_4.json index 4484879e..c3ffea75 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_4.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_4.json @@ -1 +1,685 @@ -{"instances":{"TestEvaluation_4":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"controllerTypeCooCoi":{"type_prefix":"parameter","type_specifier":"Buildings.Controls.OBC.CDL.Types.SimpleController","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"controllerTypeCooCoi","modification":{"equal":true,"expression":{"simple_expression":"Buildings.Controls.OBC.CDL.Types.SimpleController.PI"}}},"description":{"description_string":"Type of controller"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"kCooCoi":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"kCooCoi","modification":{"equal":true,"expression":{"simple_expression":"0.1"}}},"description":{"description_string":"Gain for cooling coil control loop signal"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TiCooCoi":{"type_prefix":"parameter","type_specifier":"Real","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TiCooCoi","modification":{"equal":true,"expression":{"simple_expression":"900"}}},"description":{"description_string":"Time constant of integrator block for cooling coil control loop signal"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TSupCooSet":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TSupCooSet"},"description":{"description_string":"Cooling supply air temperature setpoint","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":40},{"x":-100,"y":80}]},"iconTransformation":{"extent":[{"x":-140,"y":60},{"x":-100,"y":100}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"TAirSup":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"TAirSup"},"description":{"description_string":"Supply air temperature measurement","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":0},{"x":-100,"y":40}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":0},{"x":-100,"y":40}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"uZonSta":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.IntegerInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"uZonSta"},"description":{"description_string":"Zone state","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]},"iconTransformation":{"extent":[{"x":-140,"y":-60},{"x":-100,"y":-20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"u1SupFan":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.BooleanInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"u1SupFan"},"description":{"description_string":"Supply fan proven on","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-98},{"x":-100,"y":-58}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-80},{"x":-100,"y":-40}]},"iconTransformation":{"extent":[{"x":-140,"y":-98},{"x":-100,"y":-58}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"yCooCoi":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"yCooCoi"},"description":{"description_string":"Cooling coil position","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"},"cooCoi":{"type_specifier":"Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.CoolingCoil","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"TestEvaluation_4","single_component_list":{"declaration":{"identifier":"cooCoi","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"controllerTypeCooCoi","modification":{"equal":true,"expression":{"simple_expression":"controllerTypeCooCoi"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"kCooCoi","modification":{"equal":true,"expression":{"simple_expression":"kCooCoi"}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"TiCooCoi","modification":{"equal":true,"expression":{"simple_expression":"TiCooCoi"}}}}}]}},"description":{"description_string":"Cooling coil control","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-10,"y":-10},{"x":10,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo"}},"requiredReferences":{"connections":{"cooCoi.TSupCooSet":["TSupCooSet"],"cooCoi.TAirSup":["TAirSup"],"cooCoi.uZonSta":["uZonSta"],"cooCoi.u1SupFan":["u1SupFan"],"cooCoi.yCooCoi":["yCooCoi"]}}} \ No newline at end of file +{ + "instances": { + "TestEvaluation_4": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {} + }, + "controllerTypeCooCoi": { + "type_prefix": "parameter", + "type_specifier": "Buildings.Controls.OBC.CDL.Types.SimpleController", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_4", + "single_component_list": { + "declaration": { + "identifier": "controllerTypeCooCoi", + "modification": { + "equal": true, + "expression": { + "simple_expression": "Buildings.Controls.OBC.CDL.Types.SimpleController.PI" + } + } + }, + "description": { + "description_string": "Type of controller" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo" + }, + "kCooCoi": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_4", + "single_component_list": { + "declaration": { + "identifier": "kCooCoi", + "modification": { + "equal": true, + "expression": { + "simple_expression": "0.1" + } + } + }, + "description": { + "description_string": "Gain for cooling coil control loop signal" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo" + }, + "TiCooCoi": { + "type_prefix": "parameter", + "type_specifier": "Real", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_4", + "single_component_list": { + "declaration": { + "identifier": "TiCooCoi", + "modification": { + "equal": true, + "expression": { + "simple_expression": "900" + } + } + }, + "description": { + "description_string": "Time constant of integrator block for cooling coil control loop signal" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo" + }, + "TSupCooSet": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_4", + "single_component_list": { + "declaration": { + "identifier": "TSupCooSet" + }, + "description": { + "description_string": "Cooling supply air temperature setpoint", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 60 + }, + { + "x": -100, + "y": 100 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 40 + }, + { + "x": -100, + "y": 80 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 60 + }, + { + "x": -100, + "y": 100 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo" + }, + "TAirSup": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_4", + "single_component_list": { + "declaration": { + "identifier": "TAirSup" + }, + "description": { + "description_string": "Supply air temperature measurement", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 0 + }, + { + "x": -100, + "y": 40 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 0 + }, + { + "x": -100, + "y": 40 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo" + }, + "uZonSta": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.IntegerInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_4", + "single_component_list": { + "declaration": { + "identifier": "uZonSta" + }, + "description": { + "description_string": "Zone state", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -40 + }, + { + "x": -100, + "y": 0 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -60 + }, + { + "x": -100, + "y": -20 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -40 + }, + { + "x": -100, + "y": 0 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -60 + }, + { + "x": -100, + "y": -20 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo" + }, + "u1SupFan": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_4", + "single_component_list": { + "declaration": { + "identifier": "u1SupFan" + }, + "description": { + "description_string": "Supply fan proven on", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -98 + }, + { + "x": -100, + "y": -58 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -80 + }, + { + "x": -100, + "y": -40 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -98 + }, + { + "x": -100, + "y": -58 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo" + }, + "yCooCoi": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_4", + "single_component_list": { + "declaration": { + "identifier": "yCooCoi" + }, + "description": { + "description_string": "Cooling coil position", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo" + }, + "cooCoi": { + "type_specifier": "Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.CoolingCoil", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "TestEvaluation_4", + "single_component_list": { + "declaration": { + "identifier": "cooCoi", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "controllerTypeCooCoi", + "modification": { + "equal": true, + "expression": { + "simple_expression": "controllerTypeCooCoi" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "kCooCoi", + "modification": { + "equal": true, + "expression": { + "simple_expression": "kCooCoi" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "TiCooCoi", + "modification": { + "equal": true, + "expression": { + "simple_expression": "TiCooCoi" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Cooling coil control", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -10 + }, + { + "x": 10, + "y": 10 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -10, + "y": -10 + }, + { + "x": 10, + "y": 10 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo" + } + }, + "requiredReferences": { + "connections": { + "cooCoi.TSupCooSet": [ + "TSupCooSet" + ], + "cooCoi.TAirSup": [ + "TAirSup" + ], + "cooCoi.uZonSta": [ + "uZonSta" + ], + "cooCoi.u1SupFan": [ + "u1SupFan" + ], + "cooCoi.yCooCoi": [ + "yCooCoi" + ] + } + } +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/VariableModification.json b/test/reference/objects/test/FromModelica/VariableModification.json index 379d2aa2..293afa1e 100644 --- a/test/reference/objects/test/FromModelica/VariableModification.json +++ b/test/reference/objects/test/FromModelica/VariableModification.json @@ -1 +1,354 @@ -{"instances":{"VariableModification":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo","type":"long_class_specifier"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Input connector","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-140,"y":-40},{"x":-100,"y":0}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"},"TOut":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"TOut","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"quantity","modification":{"equal":true,"expression":{"simple_expression":"\"ThermodynamicTemperature\""}}}}}]}},"description":{"description_string":"Temperature input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]},"iconTransformation":{"extent":[{"x":-140,"y":20},{"x":-100,"y":60}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"},"abs":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Abs","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"VariableModification","single_component_list":{"declaration":{"identifier":"abs","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"u","modification":{"class_modification":[{"element_modification_or_replaceable":{"final":true,"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"y","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"name":"unit","modification":{"equal":true,"expression":{"simple_expression":"\"K\""}}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"displayUnit","modification":{"equal":true,"expression":{"simple_expression":"\"degC\""}}}}}]}}}}]}},"description":{"description_string":"Instance with modified input and output attributes","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "VariableModification": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo", + "type": "long_class_specifier" + }, + "u": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "VariableModification", + "single_component_list": { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Input connector", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -40 + }, + { + "x": -100, + "y": 0 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": -40 + }, + { + "x": -100, + "y": 0 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo" + }, + "TOut": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "VariableModification", + "single_component_list": { + "declaration": { + "identifier": "TOut", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "quantity", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"ThermodynamicTemperature\"" + } + } + } + } + } + ] + } + }, + "description": { + "description_string": "Temperature input", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -140, + "y": 20 + }, + { + "x": -100, + "y": 60 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo" + }, + "abs": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Abs", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "VariableModification", + "single_component_list": { + "declaration": { + "identifier": "abs", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "u", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "displayUnit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"degC\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "y", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "unit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"K\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "displayUnit", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"degC\"" + } + } + } + } + } + ] + } + } + } + } + ] + } + }, + "description": { + "description_string": "Instance with modified input and output attributes", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -8, + "y": -10 + }, + { + "x": 12, + "y": 10 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -8, + "y": -10 + }, + { + "x": 12, + "y": 10 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/WithCDLElementary.json b/test/reference/objects/test/FromModelica/WithCDLElementary.json index 04140b62..b1be85cf 100644 --- a/test/reference/objects/test/FromModelica/WithCDLElementary.json +++ b/test/reference/objects/test/FromModelica/WithCDLElementary.json @@ -1 +1,288 @@ -{"instances":{"WithCDLElementary":{"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo","type":"long_class_specifier","annotation":[{"element_modification_or_replaceable":{"element_modification":{"name":"Icon","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}},{"element_modification_or_replaceable":{"element_modification":{"name":"Diagram","modification":{"class_modification":[{"element_modification_or_replaceable":{"element_modification":{"coordinateSystem":{"preserveAspectRatio":"false"}}}}]}}}}],"semantics":{},"cdl_annotations":{}},"gre":{"type_specifier":"Buildings.Controls.OBC.CDL.Reals.Greater","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"gre"},"description":{"description_string":"CDL elementary block with inside class","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-8,"y":-10},{"x":12,"y":10}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"},"u":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealInput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"u"},"description":{"description_string":"Real input","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-212,"y":-12},{"x":-172,"y":28}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":-140,"y":-20},{"x":-100,"y":20}]},"iconTransformation":{"extent":[{"x":-212,"y":-12},{"x":-172,"y":28}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"},"y":{"type_specifier":"Buildings.Controls.OBC.CDL.Interfaces.RealOutput","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"WithCDLElementary","single_component_list":{"declaration":{"identifier":"y"},"description":{"description_string":"Real output","annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":-184,"y":-4},{"x":-144,"y":36}]}}}}}]}},"annotation":[{"element_modification_or_replaceable":{"element_modification":{"Placement":{"transformation":{"extent":[{"x":100,"y":-20},{"x":140,"y":20}]},"iconTransformation":{"extent":[{"x":-184,"y":-4},{"x":-144,"y":36}]}}}}}],"semantics":{},"cdl_annotations":{},"within":"FromModelica","fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "WithCDLElementary": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {} + }, + "gre": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.Greater", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "WithCDLElementary", + "single_component_list": { + "declaration": { + "identifier": "gre" + }, + "description": { + "description_string": "CDL elementary block with inside class", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -8, + "y": -10 + }, + { + "x": 12, + "y": 10 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -8, + "y": -10 + }, + { + "x": 12, + "y": 10 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo" + }, + "u": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "WithCDLElementary", + "single_component_list": { + "declaration": { + "identifier": "u" + }, + "description": { + "description_string": "Real input", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -212, + "y": -12 + }, + { + "x": -172, + "y": 28 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -140, + "y": -20 + }, + { + "x": -100, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -212, + "y": -12 + }, + { + "x": -172, + "y": 28 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo" + }, + "y": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "WithCDLElementary", + "single_component_list": { + "declaration": { + "identifier": "y" + }, + "description": { + "description_string": "Real output", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -184, + "y": -4 + }, + { + "x": -144, + "y": 36 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 100, + "y": -20 + }, + { + "x": 140, + "y": 20 + } + ] + }, + "iconTransformation": { + "extent": [ + { + "x": -184, + "y": -4 + }, + { + "x": -144, + "y": 36 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/package.json b/test/reference/objects/test/FromModelica/package.json index 26c4b6b9..48bae47e 100644 --- a/test/reference/objects/test/FromModelica/package.json +++ b/test/reference/objects/test/FromModelica/package.json @@ -1 +1,36 @@ -{"instances":{"FromModelica":{"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo","type":"long_class_specifier"},"one":{"type_prefix":"constant","type_specifier":"Integer","type":"element","compositionSpecifier":"public","long_class_specifier_identifier":"FromModelica","single_component_list":{"declaration":{"identifier":"one","modification":{"equal":true,"expression":{"simple_expression":"1"}}},"description":{"description_string":"An integer constant with value 1"}},"annotation":null,"semantics":{},"cdl_annotations":{},"within":null,"fullMoFilePath":"/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo"}},"requiredReferences":{}} \ No newline at end of file +{ + "instances": { + "FromModelica": { + "within": null, + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo", + "type": "long_class_specifier" + }, + "one": { + "type_prefix": "constant", + "type_specifier": "Integer", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "FromModelica", + "single_component_list": { + "declaration": { + "identifier": "one", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + }, + "description": { + "description_string": "An integer constant with value 1" + } + }, + "annotation": null, + "semantics": {}, + "cdl_annotations": {}, + "within": null, + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo" + } + }, + "requiredReferences": {} +} \ No newline at end of file From 7f68bf87d772575bebadd39991db326e08654399 Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Thu, 8 Feb 2024 11:59:14 -0800 Subject: [PATCH 13/25] adding binding modifications to cxf --- lib/objectExtractor.js | 19 ++++-- .../FromModelica/CustomPWithLimiter.jsonld | 5 ++ .../cxf/test/FromModelica/Enable.jsonld | 65 +++++++++++++++++++ .../MisplacedInfoWithEquation.jsonld | 5 ++ .../ParameterWithAttributes.jsonld | 4 ++ .../test/FromModelica/TestEvaluation_1.jsonld | 5 ++ .../test/FromModelica/TestEvaluation_2.jsonld | 9 +++ .../test/FromModelica/TestEvaluation_3.jsonld | 10 +++ .../test/FromModelica/TestEvaluation_4.jsonld | 12 ++++ .../FromModelica/VariableModification.jsonld | 53 --------------- 10 files changed, 128 insertions(+), 59 deletions(-) delete mode 100644 test/reference/cxf/test/FromModelica/VariableModification.jsonld diff --git a/lib/objectExtractor.js b/lib/objectExtractor.js index f4de7f85..d30bb6ac 100644 --- a/lib/objectExtractor.js +++ b/lib/objectExtractor.js @@ -587,8 +587,6 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore graph.add(instanceNode, rdfNs('type'), cxfPrefix(typeSpecifier)) } } - newInstanceDict.cxfNode = instanceNode - // console.log(instanceDict) if ('single_component_list' in instanceDict) { if ('description' in instanceDict.single_component_list) { if ('description_string' in instanceDict.single_component_list.description) { @@ -604,24 +602,33 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore if (key === 'value') { graph.add(instanceNode, s231Ns('value'), modDict.value) } else { + let isFinal = false + if ('final' in modDict[key]) { + isFinal = true + } const value = modDict[key].value // TODO: handle final // const final = modDict[key].final ? true: false if (['start', 'nominal', 'fixed', 'instantiate', 'min', 'max'].includes(key)) { graph.add(instanceNode, s231Ns(key), value) - } - if (key === 'unit') { + } else if (key === 'unit') { // TODO: check qudt class name graph.add(instanceNode, qudt('hasUnit'), qudt(value)) - } - if (key === 'quantity') { + } else if (key === 'quantity') { // TODO: check qudt class name graph.add(instanceNode, qudt('hasQuantityKind'), qudt(value)) + } else { + const node = cxfPrefix(`${className}#${instance}.${key}`) + graph.add(node, s231Ns('value'), value) + if (isFinal) { + graph.add(node, s231Ns('isFinal'), true) + } } } }) } } + newInstanceDict.cxfNode = instanceNode } if ('compositionSpecifier' in instanceDict) { const compositionSpecifier = instanceDict.compositionSpecifier diff --git a/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld b/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld index 19c41d61..14ccfb61 100644 --- a/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld +++ b/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld @@ -48,6 +48,11 @@ "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-60,\"y\":-50},{\"x\":-40,\"y\":-30}]}}}", "S231P:label": "gain" }, + { + "@id": "seq:CustomPWithLimiter#gain.k", + "S231P:isFinal": true, + "S231P:value": "k" + }, { "@id": "seq:CustomPWithLimiter#gain.y", "S231P:isConnectedTo": { diff --git a/test/reference/cxf/test/FromModelica/Enable.jsonld b/test/reference/cxf/test/FromModelica/Enable.jsonld index e9423f6d..89fd1b13 100644 --- a/test/reference/cxf/test/FromModelica/Enable.jsonld +++ b/test/reference/cxf/test/FromModelica/Enable.jsonld @@ -223,6 +223,11 @@ "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-118,\"y\":12},{\"x\":-98,\"y\":32}]}}}", "S231P:label": "conInt" }, + { + "@id": "seq:Enable#conInt.k", + "S231P:isFinal": true, + "S231P:value": "Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeProtectionStages.stage0" + }, { "@id": "seq:Enable#conInt.y", "S231P:isConnectedTo": { @@ -254,6 +259,11 @@ "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-20,\"y\":-58},{\"x\":0,\"y\":-38}]}}}", "S231P:label": "delOutDamOsc" }, + { + "@id": "seq:Enable#delOutDamOsc.delayTime", + "S231P:isFinal": true, + "S231P:value": "disDel" + }, { "@id": "seq:Enable#delOutDamOsc.u", "S231P:isConnectedTo": { @@ -268,6 +278,11 @@ "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-20,\"y\":-108},{\"x\":0,\"y\":-88}]}}}", "S231P:label": "delRetDam" }, + { + "@id": "seq:Enable#delRetDam.delayTime", + "S231P:isFinal": true, + "S231P:value": "retDamFulOpeTim" + }, { "@id": "seq:Enable#delRetDam.y", "S231P:isConnectedTo": { @@ -291,6 +306,11 @@ "S231P:label": "delTOutHis", "S231P:value": 1 }, + { + "@id": "seq:Enable#delTOutHis.displayUnit", + "S231P:isFinal": true, + "S231P:value": "K" + }, { "@id": "seq:Enable#disDel", "qudt:hasQuantityKind": { @@ -316,6 +336,11 @@ "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-160,\"y\":180},{\"x\":-140,\"y\":200}]}}}", "S231P:label": "entSubst1" }, + { + "@id": "seq:Enable#entSubst1.k", + "S231P:isFinal": true, + "S231P:value": false + }, { "@id": "seq:Enable#entSubst1.y", "S231P:isConnectedTo": { @@ -390,6 +415,16 @@ "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-160,\"y\":140},{\"x\":-140,\"y\":160}]}}}", "S231P:label": "hysOutEnt" }, + { + "@id": "seq:Enable#hysOutEnt.uHigh", + "S231P:isFinal": true, + "S231P:value": "hOutHigLimCutHig" + }, + { + "@id": "seq:Enable#hysOutEnt.uLow", + "S231P:isFinal": true, + "S231P:value": "hOutHigLimCutLow" + }, { "@id": "seq:Enable#hysOutEnt.y", "S231P:isConnectedTo": { @@ -404,6 +439,16 @@ "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-160,\"y\":220},{\"x\":-140,\"y\":240}]}}}", "S231P:label": "hysOutTem" }, + { + "@id": "seq:Enable#hysOutTem.uHigh", + "S231P:isFinal": true, + "S231P:value": "TOutHigLimCutHig" + }, + { + "@id": "seq:Enable#hysOutTem.uLow", + "S231P:isFinal": true, + "S231P:value": "TOutHigLimCutLow" + }, { "@id": "seq:Enable#hysOutTem.y", "S231P:isConnectedTo": { @@ -598,6 +643,11 @@ }, "S231P:label": "TOut" }, + { + "@id": "seq:Enable#TOut.displayUnit", + "S231P:isFinal": true, + "S231P:value": "degC" + }, { "@id": "seq:Enable#TOutCut", "@type": "S231P:RealInput", @@ -615,6 +665,11 @@ }, "S231P:label": "TOutCut" }, + { + "@id": "seq:Enable#TOutCut.displayUnit", + "S231P:isFinal": true, + "S231P:value": "degC" + }, { "@id": "seq:Enable#TOutHigLimCutHig", "qudt:hasQuantityKind": { @@ -631,6 +686,11 @@ "S231P:label": "TOutHigLimCutHig", "S231P:value": 0 }, + { + "@id": "seq:Enable#TOutHigLimCutHig.displayUnit", + "S231P:isFinal": true, + "S231P:value": "K" + }, { "@id": "seq:Enable#TOutHigLimCutLow", "S231P:accessSpecifier": "protected", @@ -649,6 +709,11 @@ "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":20,\"y\":182},{\"x\":40,\"y\":202}]}}}", "S231P:label": "truFalHol" }, + { + "@id": "seq:Enable#truFalHol.trueHoldDuration", + "S231P:isFinal": true, + "S231P:value": 600 + }, { "@id": "seq:Enable#truFalHol.y", "S231P:isConnectedTo": { diff --git a/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld b/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld index 23f37d4e..d4d787cc 100644 --- a/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld +++ b/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld @@ -32,6 +32,11 @@ "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":0,\"y\":-10},{\"x\":20,\"y\":10}]}}}", "S231P:label": "gain" }, + { + "@id": "seq:MisplacedInfoWithEquation#gain.k", + "S231P:isFinal": true, + "S231P:value": "k" + }, { "@id": "seq:MisplacedInfoWithEquation#gain.y", "S231P:isConnectedTo": { diff --git a/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld index 34c60f27..6a46f919 100644 --- a/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld +++ b/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld @@ -37,6 +37,10 @@ "@type": "http://www.w3.org/2001/XMLSchema#decimal" }, "S231P:value": 1 + }, + { + "@id": "seq:ParameterWithAttributes#kP.stateSelect", + "S231P:value": "StateSelect.default" } ] } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld index e087ecb9..7aa80c62 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld @@ -20,6 +20,11 @@ "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-20,\"y\":10},{\"x\":0,\"y\":30}]}}}", "S231P:label": "con" }, + { + "@id": "seq:TestEvaluation_1#con.k", + "S231P:isFinal": true, + "S231P:value": "k1" + }, { "@id": "seq:TestEvaluation_1#k1", "S231P:accessSpecifier": "public", diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld index 582e6e22..16dfb2a1 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld @@ -37,6 +37,15 @@ "@id": "seq:TestEvaluation_2#u" } }, + { + "@id": "seq:TestEvaluation_2#hys.uHigh", + "S231P:value": "uHigh" + }, + { + "@id": "seq:TestEvaluation_2#hys.uLow", + "S231P:isFinal": true, + "S231P:value": "uLow" + }, { "@id": "seq:TestEvaluation_2#hys.y", "S231P:isConnectedTo": { diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_3.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_3.jsonld index 78838ccc..a37092aa 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_3.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_3.jsonld @@ -30,6 +30,11 @@ "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":10},{\"x\":10,\"y\":30}]}}}", "S231P:label": "con" }, + { + "@id": "seq:TestEvaluation_3#con.k", + "S231P:isFinal": true, + "S231P:value": "k2" + }, { "@id": "seq:TestEvaluation_3#con1", "@type": "seq:Buildings.Controls.OBC.CDL.Logical.Sources.Constant", @@ -37,6 +42,11 @@ "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-8,\"y\":-30},{\"x\":12,\"y\":-10}]}}}", "S231P:label": "con1" }, + { + "@id": "seq:TestEvaluation_3#con1.k", + "S231P:isFinal": true, + "S231P:value": "k1" + }, { "@id": "seq:TestEvaluation_3#k1", "S231P:accessSpecifier": "public", diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld index 0efb7063..2fe9af1f 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld @@ -53,12 +53,24 @@ "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-10},{\"x\":10,\"y\":10}]}}}", "S231P:label": "cooCoi" }, + { + "@id": "seq:TestEvaluation_4#cooCoi.controllerTypeCooCoi", + "S231P:value": "controllerTypeCooCoi" + }, + { + "@id": "seq:TestEvaluation_4#cooCoi.kCooCoi", + "S231P:value": "kCooCoi" + }, { "@id": "seq:TestEvaluation_4#cooCoi.TAirSup", "S231P:isConnectedTo": { "@id": "seq:TestEvaluation_4#TAirSup" } }, + { + "@id": "seq:TestEvaluation_4#cooCoi.TiCooCoi", + "S231P:value": "TiCooCoi" + }, { "@id": "seq:TestEvaluation_4#cooCoi.TSupCooSet", "S231P:isConnectedTo": { diff --git a/test/reference/cxf/test/FromModelica/VariableModification.jsonld b/test/reference/cxf/test/FromModelica/VariableModification.jsonld deleted file mode 100644 index 11c8efa3..00000000 --- a/test/reference/cxf/test/FromModelica/VariableModification.jsonld +++ /dev/null @@ -1,53 +0,0 @@ -{ - "@context": { - "S231P": "https://data.ashrae.org/S231P#", - "qudt": "http://qudt.org/schema/qudt#" - }, - "@graph": [ - { - "@id": "seq:VariableModification", - "@type": "S231P:Block", - "S231P:containsBlock": { - "@id": "seq:VariableModification#abs" - }, - "S231P:hasInput": [ - { - "@id": "seq:VariableModification#TOut" - }, - { - "@id": "seq:VariableModification#u" - } - ] - }, - { - "@id": "seq:VariableModification#abs", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.Abs", - "S231P:accessSpecifier": "public", - "S231P:description": "Instance with modified input and output attributes", - "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-8,\"y\":-10},{\"x\":12,\"y\":10}]}}}", - "S231P:label": "abs" - }, - { - "@id": "seq:VariableModification#TOut", - "@type": "S231P:RealInput", - "qudt:hasQuantityKind": { - "@id": "qudt:ThermodynamicTemperature" - }, - "qudt:hasUnit": { - "@id": "qudt:K" - }, - "S231P:accessSpecifier": "public", - "S231P:description": "Temperature input", - "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":20},{\"x\":-100,\"y\":60}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":20},{\"x\":-100,\"y\":60}]}}}", - "S231P:label": "TOut" - }, - { - "@id": "seq:VariableModification#u", - "@type": "S231P:RealInput", - "S231P:accessSpecifier": "public", - "S231P:description": "Input connector", - "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-40},{\"x\":-100,\"y\":0}]}}}", - "S231P:label": "u" - } - ] -} \ No newline at end of file From 7ea67109e98a6fe944092da61ecfb1ec6ffc2aed Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Thu, 14 Mar 2024 13:10:18 -0700 Subject: [PATCH 14/25] adding arguments for generating cxf graph --- app.js | 19 ++++++++++++++--- lib/objectExtractor.js | 25 ++++++++++++++++------ lib/parser.js | 48 ++++++++++++++++++++++++++++++------------ 3 files changed, 69 insertions(+), 23 deletions(-) diff --git a/app.js b/app.js index 6c00a26c..c000750d 100644 --- a/app.js +++ b/app.js @@ -62,6 +62,15 @@ parser.addArgument( } ) +parser.addArgument( + + ['--cxfCore'], + { + help: 'If this flag is present, generate CXF-core.jsonld file. --file should point to Buildings/Controls/OBC/CDL package and --o should be cxf', + action: 'storeTrue' + } +) + const args = parser.parseArgs() const logFile = 'modelica-json.log' @@ -93,17 +102,21 @@ if (args.output === 'modelica') { pa.convertToModelica(args.file, args.directory, false) } else { // Get mo files array - + if (args.cxfCore) { + if (!args.file.endsWith("CDL") || !args.output === "cxf") { + throw new Error("In order to generate CXF-core.jsonld, the -f/--file should point to the CDL package (e.g.: Buildings.Controls.OBC.CDL) and -o/--output should be cxf") + } + } const completedJsonGeneration = new Promise( function (resolve, reject) { const moFiles = ut.getMoFiles(args.file) // Parse the json representation for moFiles - pa.getJsons(moFiles, args.mode, args.output, args.directory, args.prettyPrint) + pa.getJsons(moFiles, args.mode, args.output, args.directory, args.prettyPrint, args.cxfCore) resolve(0) } ) completedJsonGeneration.then(function () { - if (args.output === 'semantic') { + if (args.output === 'semantic') { se.getSemanticInformation(args.file, args.directory) } }) diff --git a/lib/objectExtractor.js b/lib/objectExtractor.js index d30bb6ac..e38c37e5 100644 --- a/lib/objectExtractor.js +++ b/lib/objectExtractor.js @@ -540,6 +540,7 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore if (generateCxfCore) { // TODO: handle cxf-core graph.add(s231Ns(blockName), rdfNs('type'), s231Ns('ElementaryBlock')) + newInstanceDict.cxfNode = cxfPrefix(blockName) } } else { // TODO: how to separate composite block v/s extension block @@ -548,7 +549,12 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore } } else if (instanceType === 'element') { const className = instanceDict.long_class_specifier_identifier === undefined ? blockName : instanceDict.long_class_specifier_identifier - const instanceNode = cxfPrefix(`${className}#${instance}`) + let instanceNode + if (generateCxfCore) { + instanceNode = s231Ns(`${className}#${instance}`) + } else { + instanceNode = cxfPrefix(`${className}#${instance}`) + } const blockNode = cxfPrefix(`${className}`) const typeSpecifier = instanceDict.type_specifier graph.add(instanceNode, s231Ns('label'), instance) @@ -659,7 +665,9 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore const toElements = connections[fromElement] toElements.forEach(toElement => { const toNode = getInstanceNode(toElement, cxfPrefix, newInstances) - graph.add(fromNode, s231Ns('isConnectedTo'), toNode) + if (fromNode !== null && toNode !== null) { + graph.add(fromNode, s231Ns('isConnectedTo'), toNode) + } }) }) } @@ -677,10 +685,15 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore function getInstanceNode (element, cxfPrefix, newInstances) { let node = null if (element.split('.').length > 1) { - const instance = element.split('.').slice(0, 1)[0] - const instanceNode = newInstances[instance].cxfNode - const className = instanceNode.value.split('#')[0].split(':').slice(-1)[0] - node = cxfPrefix(`${className}#${element}`) + var instance = element.split('.').slice(0, 1)[0] + while (!(instance in newInstances)) { + instance = instance.split('.').slice(0, 1)[0] + } + if (instance in newInstances) { + const instanceNode = newInstances[instance].cxfNode + const className = instanceNode.value.split('#')[0].split(':').slice(-1)[0] + node = cxfPrefix(`${className}#${element}`) + } } else { node = newInstances[element].cxfNode } diff --git a/lib/parser.js b/lib/parser.js index d3dee7d8..4bff9927 100644 --- a/lib/parser.js +++ b/lib/parser.js @@ -17,9 +17,10 @@ const storedDefiniton = require('../json2mo/storedDefiniton') * @param outputFormat Output format, 'raw-json', 'json', 'html' or 'docx' * @param directory Specified output directory * @param prettyPrint Flag to indicate if prettify JSON output + * @param generateCxfCore Flag to indicate whether or not to generate CXF-core.jsonld * @return parsed json data array */ -function getJsons (moFiles, parseMode, outputFormat, directory, prettyPrint) { +function getJsons (moFiles, parseMode, outputFormat, directory, prettyPrint, generateCxfCore=false) { logger.debug('Entered parser.getJsons.') const jsonData = [] let outDir = directory @@ -45,7 +46,7 @@ function getJsons (moFiles, parseMode, outputFormat, directory, prettyPrint) { const tempJsonDir = ut.createTempDir('json') const parsedFile = [] for (let i = 0; i < moFiles.length; i++) { - const fileList = getSimpleJson(moFiles[i], parseMode, tempJsonDir, parsedFile, outDir, prettyPrint, outputFormat) + const fileList = getSimpleJson(moFiles[i], parseMode, tempJsonDir, parsedFile, outDir, prettyPrint, outputFormat, generateCxfCore) parsedFile.push(fileList) } ut.copyFolderSync(tempJsonDir, outDir) @@ -78,8 +79,9 @@ function getRawJson (moFile, outputFormat) { * @param outDir directory to store the output files * @param prettyPrint Flag to indicate if prettify JSON output * @param outputFormat output format + * @param generateCxfCore Flag to indicate whether or not to generate CXF-core.jsonld */ -function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPrint, outputFormat) { +function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPrint, outputFormat, generateCxfCore) { const outputFileName = ut.getOutputFile(moFile, 'json', outDir) // find the modelica file checksum const moChecksum = ut.getMoChecksum(moFile) @@ -104,6 +106,7 @@ function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPr const da = jq.simplifyModelicaJSON(rawJson, parseMode) // create temp directory to host the json output before adding the svg contents const tempJsonPath = ut.getOutputFile(moFile, 'json', tempDir) + console.log(moFile, tempJsonPath) // write the simplified json output to file const out = (prettyPrint === 'false') ? JSON.stringify(da) : JSON.stringify(da, null, 2) ut.writeFile(tempJsonPath, out) @@ -141,18 +144,35 @@ function generateAllObjectsJson (jsonOutput, moFile, tempDir, prettyPrint) { return allObjectsJson } -function generateCxf (jsonOutput, moFile, tempDir, prettyPrint) { - const instances = jsonOutput.instances - const requiredReferences = jsonOutput.requiredReferences - const blockName = moFile.split(path.sep)[moFile.split(path.sep).length - 1].split('.mo')[0] - const cxfGraphJsonLd = oe.getCxfGraph(instances, requiredReferences, blockName) - if (cxfGraphJsonLd !== undefined && cxfGraphJsonLd !== null) { - const cxfGraphJsonLdOut = (prettyPrint === 'false') ? JSON.stringify(cxfGraphJsonLd) : JSON.stringify(cxfGraphJsonLd, null, 2) - const cxfPath = ut.getOutputFile(moFile, 'cxf', tempDir) - ut.writeFile(cxfPath, cxfGraphJsonLdOut) +function generateCxf (jsonOutput, moFile, tempDir, prettyPrint, generateCxfCore=false) { + fileNameTokens = moFile.split('.mo')[0].split(path.sep) + if (fileNameTokens.slice(fileNameTokens.length-3)[0] === "CDL") { + console.log("elementary Block") + var cxfGraphJsonLd + if (generateCxfCore) { + const instances = jsonOutput.instances + const requiredReferences = jsonOutput.requiredReferences + const blockName = moFile.split(path.sep)[moFile.split(path.sep).length - 1].split('.mo')[0] + cxfGraphJsonLd = Object.assign({}, cxfGraphJsonLd, oe.getCxfGraph(instances, requiredReferences, blockName, true)) + } + if (cxfGraphJsonLd !== undefined && cxfGraphJsonLd !== null) { + const cxfCoreGraphJsonLdOut = (prettyPrint === 'false') ? JSON.stringify(cxfGraphJsonLd) : JSON.stringify(cxfGraphJsonLd, null, 2) + const cxfCorePath = ut.getOutputFile('CXF-core.jsonld', 'cxf', tempDir) + ut.writeFile(cxfCorePath, cxfCoreGraphJsonLdOut) + } } else { - // TODO: only extract CDL instances - // console.log(`${moFile} not a valid CDL file. Not generating CXF`) + const instances = jsonOutput.instances + const requiredReferences = jsonOutput.requiredReferences + const blockName = moFile.split(path.sep)[moFile.split(path.sep).length - 1].split('.mo')[0] + const cxfGraphJsonLd = oe.getCxfGraph(instances, requiredReferences, blockName) + if (cxfGraphJsonLd !== undefined && cxfGraphJsonLd !== null) { + const cxfGraphJsonLdOut = (prettyPrint === 'false') ? JSON.stringify(cxfGraphJsonLd) : JSON.stringify(cxfGraphJsonLd, null, 2) + const cxfPath = ut.getOutputFile(moFile, 'cxf', tempDir) + ut.writeFile(cxfPath, cxfGraphJsonLdOut) + } else { + // TODO: only extract CDL instances + // console.log(`${moFile} not a valid CDL file. Not generating CXF`) + } } } From 12f42612ee2befb5ba2b7b27c1ecb3a36410d2fd Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Tue, 19 Mar 2024 12:37:40 -0700 Subject: [PATCH 15/25] making changes to generate elementary block cxf --- lib/objectExtractor.js | 234 ++++++++++++++++++++++++----------------- lib/parser.js | 15 ++- 2 files changed, 146 insertions(+), 103 deletions(-) diff --git a/lib/objectExtractor.js b/lib/objectExtractor.js index e38c37e5..79c07d10 100644 --- a/lib/objectExtractor.js +++ b/lib/objectExtractor.js @@ -493,6 +493,16 @@ function extractSemanticsFromAnnotations (annotation, instanceIdentifier) { return semantics } +function checkIfCdlElementaryBlock (name, newInstances) { + if (name in newInstances) { + return newInstances[name].isElementaryBlock + } + if (name !== undefined && name !== null && name.length > 0 && name.split('.').slice(-2, -1)[0] !== undefined && name.split('.').slice(-2, -1)[0].toUpperCase() === 'CDL') { + return true + } + return false +} + function checkValidCdl (instances, requiredReferences) { // TODO: check if its valid CDL if ('extends_clause' in requiredReferences) { @@ -525,6 +535,7 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore instancesList.forEach(instance => { const instanceDict = instances[instance] const newInstanceDict = {} + let isElementaryBlock = false // Object.assign(newInstanceDict, instances[instance]); let instanceType = null const within = instanceDict.within @@ -536,123 +547,151 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore if (instanceType === 'long_class_specifier') { // check if CDL elementary block // TODO: check if we should include package name within sequence - if (within !== undefined && within !== null && within.length > 0 && within.split('.').slice(-2, -1)[0] !== undefined && within.split('.').slice(-2, -1)[0].toUpperCase() === 'CDL') { + if (checkIfCdlElementaryBlock(within, newInstances)) { + isElementaryBlock = true if (generateCxfCore) { // TODO: handle cxf-core graph.add(s231Ns(blockName), rdfNs('type'), s231Ns('ElementaryBlock')) - newInstanceDict.cxfNode = cxfPrefix(blockName) + newInstanceDict.cxfNode = s231Ns(blockName) + newInstanceDict.isElementaryBlock = true + newInstanceDict.generateCxfCore = true + } else { + newInstanceDict.cxfNode = s231Ns(blockName) + newInstanceDict.isElementaryBlock = true + newInstanceDict.generateCxfCore = false } } else { // TODO: how to separate composite block v/s extension block graph.add(cxfPrefix(blockName), rdfNs('type'), s231Ns('Block')) newInstanceDict.cxfNode = cxfPrefix(blockName) + newInstanceDict.isElementaryBlock = false + newInstanceDict.generateCxfCore = false } } else if (instanceType === 'element') { const className = instanceDict.long_class_specifier_identifier === undefined ? blockName : instanceDict.long_class_specifier_identifier let instanceNode - if (generateCxfCore) { + let prefix + if (checkIfCdlElementaryBlock(className, newInstances)) { + console.log("elemBLock") instanceNode = s231Ns(`${className}#${instance}`) + isElementaryBlock = true + newInstanceDict.isElementaryBlock = isElementaryBlock + newInstanceDict.generateCxfCore = generateCxfCore + prefix = 's231' + newInstanceDict.prefix = prefix } else { instanceNode = cxfPrefix(`${className}#${instance}`) - } - const blockNode = cxfPrefix(`${className}`) - const typeSpecifier = instanceDict.type_specifier - graph.add(instanceNode, s231Ns('label'), instance) - - if (instanceDict.type_prefix === 'parameter') { - graph.add(blockNode, s231Ns('hasParameter'), instanceNode) - // TODO: check if enumeration should be here - if (typeSpecifier !== undefined && ['Real', 'Integer', 'Boolean', 'String'].includes(typeSpecifier)) { - graph.add(instanceNode, s231Ns('isOfDataType'), s231Ns(typeSpecifier)) - } - } else if (instanceDict.type_prefix === 'constant') { - graph.add(blockNode, s231Ns('hasConstant'), instanceNode) - // TODO: check if enumeration should be here - if (typeSpecifier !== undefined && ['Real', 'Integer', 'Boolean', 'String'].includes(typeSpecifier)) { - graph.add(instanceNode, s231Ns('isOfDataType'), s231Ns(typeSpecifier)) - } - } else if (instanceDict.type_prefix === '' || instanceDict.type_prefix === undefined) { - if (typeSpecifier.endsWith('IntegerInput') || typeSpecifier.endsWith('BooleanInput') || typeSpecifier.endsWith('RealInput')) { - // is it inputConnector - graph.add(blockNode, s231Ns('hasInput'), instanceNode) - const inputConnectorType = typeSpecifier.split('.').slice(-1)[0] - graph.add(instanceNode, rdfNs('type'), s231Ns(inputConnectorType)) - } else if (typeSpecifier.endsWith('IntegerOutput') || typeSpecifier.endsWith('BooleanOutput') || typeSpecifier.endsWith('RealOutput')) { - // is it outputConnector - graph.add(blockNode, s231Ns('hasOutput'), instanceNode) - const outputConnectorType = typeSpecifier.split('.').slice(-1)[0] - graph.add(instanceNode, rdfNs('type'), s231Ns(outputConnectorType)) - } else if (typeSpecifier.split('.').slice(-3, -2)[0] !== undefined && typeSpecifier.split('.').slice(-3, -2)[0].toUpperCase() === 'CDL') { - // is it elementary block - graph.add(blockNode, s231Ns('containsBlock'), instanceNode) - const cxfElementaryBlockName = ['CXF'].concat(typeSpecifier.split('.').slice(-2)).join('.') - graph.add(instanceNode, rdfNs('type'), s231Ns(cxfElementaryBlockName)) - } else { - // TODO: how to distinguish between control sequences and models? - graph.add(blockNode, s231Ns('containsBlock'), instanceNode) - graph.add(instanceNode, rdfNs('type'), cxfPrefix(typeSpecifier)) - } + newInstanceDict.isElementaryBlock = false + newInstanceDict.generateCxfCore = generateCxfCore + prefix = 'seq' + newInstanceDict.prefix = prefix } - if ('single_component_list' in instanceDict) { - if ('description' in instanceDict.single_component_list) { - if ('description_string' in instanceDict.single_component_list.description) { - const descriptionString = instanceDict.single_component_list.description.description_string - graph.add(instanceNode, s231Ns('description'), descriptionString) + + if ((isElementaryBlock && generateCxfCore) || !isElementaryBlock) { + let blockNode + if (prefix == 's231') { + blockNode = s231Ns(`${className}`) + } else { + blockNode = cxfPrefix(`${className}`) + } + const typeSpecifier = instanceDict.type_specifier + graph.add(instanceNode, s231Ns('label'), instance) + + if (instanceDict.type_prefix === 'parameter') { + graph.add(blockNode, s231Ns('hasParameter'), instanceNode) + // TODO: check if enumeration should be here + if (typeSpecifier !== undefined && ['Real', 'Integer', 'Boolean', 'String'].includes(typeSpecifier)) { + graph.add(instanceNode, s231Ns('isOfDataType'), s231Ns(typeSpecifier)) + } + } else if (instanceDict.type_prefix === 'constant') { + graph.add(blockNode, s231Ns('hasConstant'), instanceNode) + // TODO: check if enumeration should be here + if (typeSpecifier !== undefined && ['Real', 'Integer', 'Boolean', 'String'].includes(typeSpecifier)) { + graph.add(instanceNode, s231Ns('isOfDataType'), s231Ns(typeSpecifier)) + } + } else if (instanceDict.type_prefix === '' || instanceDict.type_prefix === undefined) { + if (typeSpecifier.endsWith('IntegerInput') || typeSpecifier.endsWith('BooleanInput') || typeSpecifier.endsWith('RealInput')) { + // is it inputConnector + graph.add(blockNode, s231Ns('hasInput'), instanceNode) + const inputConnectorType = typeSpecifier.split('.').slice(-1)[0] + graph.add(instanceNode, rdfNs('type'), s231Ns(inputConnectorType)) + } else if (typeSpecifier.endsWith('IntegerOutput') || typeSpecifier.endsWith('BooleanOutput') || typeSpecifier.endsWith('RealOutput')) { + // is it outputConnector + graph.add(blockNode, s231Ns('hasOutput'), instanceNode) + const outputConnectorType = typeSpecifier.split('.').slice(-1)[0] + graph.add(instanceNode, rdfNs('type'), s231Ns(outputConnectorType)) + } else if (typeSpecifier.split('.').slice(-3, -2)[0] !== undefined && typeSpecifier.split('.').slice(-3, -2)[0].toUpperCase() === 'CDL') { + // is it elementary block + graph.add(blockNode, s231Ns('containsBlock'), instanceNode) + const cxfElementaryBlockName = ['CXF'].concat(typeSpecifier.split('.').slice(-2)).join('.') + graph.add(instanceNode, rdfNs('type'), s231Ns(cxfElementaryBlockName)) + } else { + // TODO: how to distinguish between control sequences and models? + graph.add(blockNode, s231Ns('containsBlock'), instanceNode) + graph.add(instanceNode, rdfNs('type'), cxfPrefix(typeSpecifier)) } } - if ('declaration' in instanceDict.single_component_list) { - if ('modification' in instanceDict.single_component_list.declaration) { - const mod = instanceDict.single_component_list.declaration.modification - const modDict = parseModification(mod, typeSpecifier) - Object.keys(modDict).forEach(key => { - if (key === 'value') { - graph.add(instanceNode, s231Ns('value'), modDict.value) - } else { - let isFinal = false - if ('final' in modDict[key]) { - isFinal = true - } - const value = modDict[key].value - // TODO: handle final - // const final = modDict[key].final ? true: false - if (['start', 'nominal', 'fixed', 'instantiate', 'min', 'max'].includes(key)) { - graph.add(instanceNode, s231Ns(key), value) - } else if (key === 'unit') { - // TODO: check qudt class name - graph.add(instanceNode, qudt('hasUnit'), qudt(value)) - } else if (key === 'quantity') { - // TODO: check qudt class name - graph.add(instanceNode, qudt('hasQuantityKind'), qudt(value)) + if ('single_component_list' in instanceDict) { + if ('description' in instanceDict.single_component_list) { + if ('description_string' in instanceDict.single_component_list.description) { + const descriptionString = instanceDict.single_component_list.description.description_string + graph.add(instanceNode, s231Ns('description'), descriptionString) + } + } + if ('declaration' in instanceDict.single_component_list) { + if ('modification' in instanceDict.single_component_list.declaration) { + const mod = instanceDict.single_component_list.declaration.modification + const modDict = parseModification(mod, typeSpecifier) + Object.keys(modDict).forEach(key => { + if (key === 'value') { + graph.add(instanceNode, s231Ns('value'), modDict.value) } else { - const node = cxfPrefix(`${className}#${instance}.${key}`) - graph.add(node, s231Ns('value'), value) - if (isFinal) { - graph.add(node, s231Ns('isFinal'), true) + let isFinal = false + if ('final' in modDict[key]) { + isFinal = true + } + const value = modDict[key].value + // TODO: handle final + // const final = modDict[key].final ? true: false + if (['start', 'nominal', 'fixed', 'instantiate', 'min', 'max'].includes(key)) { + graph.add(instanceNode, s231Ns(key), value) + } else if (key === 'unit') { + // TODO: check qudt class name + graph.add(instanceNode, qudt('hasUnit'), qudt(value)) + } else if (key === 'quantity') { + // TODO: check qudt class name + graph.add(instanceNode, qudt('hasQuantityKind'), qudt(value)) + } else { + const node = cxfPrefix(`${className}#${instance}.${key}`) + graph.add(node, s231Ns('value'), value) + if (isFinal) { + graph.add(node, s231Ns('isFinal'), true) + } } } - } - }) + }) + } } } - newInstanceDict.cxfNode = instanceNode - } - if ('compositionSpecifier' in instanceDict) { - const compositionSpecifier = instanceDict.compositionSpecifier - if (compositionSpecifier === 'public' || compositionSpecifier === 'protected') { - graph.add(instanceNode, s231Ns('accessSpecifier'), compositionSpecifier) + if ('compositionSpecifier' in instanceDict) { + const compositionSpecifier = instanceDict.compositionSpecifier + if (compositionSpecifier === 'public' || compositionSpecifier === 'protected') { + graph.add(instanceNode, s231Ns('accessSpecifier'), compositionSpecifier) + } } - } - if ('annotation' in instanceDict && instanceDict.annotation !== null && instanceDict.annotation !== undefined && instanceDict.annotation.length > 0) { - instanceDict.annotation.forEach(eleModRep => { - if ('element_modification_or_replaceable' in eleModRep) { - if ('element_modification' in eleModRep.element_modification_or_replaceable) { - const graphicalObj = eleModRep.element_modification_or_replaceable.element_modification - const graphicalObjStr = JSON.stringify(graphicalObj) - graph.add(instanceNode, s231Ns('graphics'), graphicalObjStr) + if ('annotation' in instanceDict && instanceDict.annotation !== null && instanceDict.annotation !== undefined && instanceDict.annotation.length > 0) { + instanceDict.annotation.forEach(eleModRep => { + if ('element_modification_or_replaceable' in eleModRep) { + if ('element_modification' in eleModRep.element_modification_or_replaceable) { + const graphicalObj = eleModRep.element_modification_or_replaceable.element_modification + const graphicalObjStr = JSON.stringify(graphicalObj) + graph.add(instanceNode, s231Ns('graphics'), graphicalObjStr) + } } - } - }) + }) + } } + newInstanceDict.cxfNode = instanceNode } newInstances[instance] = newInstanceDict }) @@ -660,11 +699,11 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore const connections = requiredReferences.connections if (connections !== undefined && connections !== null) { Object.keys(connections).forEach(fromElement => { - const fromNode = getInstanceNode(fromElement, cxfPrefix, newInstances) + const fromNode = getInstanceNode(fromElement, newInstances, s231Ns, cxfPrefix) const toElements = connections[fromElement] toElements.forEach(toElement => { - const toNode = getInstanceNode(toElement, cxfPrefix, newInstances) + const toNode = getInstanceNode(fromElement, newInstances, s231Ns, cxfPrefix) if (fromNode !== null && toNode !== null) { graph.add(fromNode, s231Ns('isConnectedTo'), toNode) } @@ -682,7 +721,7 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore return cxfJson } -function getInstanceNode (element, cxfPrefix, newInstances) { +function getInstanceNode (element, newInstances, s231Ns, cxfPrefix) { let node = null if (element.split('.').length > 1) { var instance = element.split('.').slice(0, 1)[0] @@ -692,7 +731,12 @@ function getInstanceNode (element, cxfPrefix, newInstances) { if (instance in newInstances) { const instanceNode = newInstances[instance].cxfNode const className = instanceNode.value.split('#')[0].split(':').slice(-1)[0] - node = cxfPrefix(`${className}#${element}`) + var prefix = instanceNode.prefix + if (prefix == 's231') { + node = s231Ns(`${className}#${element}`) + } else { + node = cxfPrefix(`${className}#${element}`) + } } } else { node = newInstances[element].cxfNode diff --git a/lib/parser.js b/lib/parser.js index 4bff9927..bac76ce7 100644 --- a/lib/parser.js +++ b/lib/parser.js @@ -20,7 +20,7 @@ const storedDefiniton = require('../json2mo/storedDefiniton') * @param generateCxfCore Flag to indicate whether or not to generate CXF-core.jsonld * @return parsed json data array */ -function getJsons (moFiles, parseMode, outputFormat, directory, prettyPrint, generateCxfCore=false) { +function getJsons (moFiles, parseMode, outputFormat, directory, prettyPrint, generateCxfCore) { logger.debug('Entered parser.getJsons.') const jsonData = [] let outDir = directory @@ -82,6 +82,7 @@ function getRawJson (moFile, outputFormat) { * @param generateCxfCore Flag to indicate whether or not to generate CXF-core.jsonld */ function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPrint, outputFormat, generateCxfCore) { + console.log("line 85 ", generateCxfCore) const outputFileName = ut.getOutputFile(moFile, 'json', outDir) // find the modelica file checksum const moChecksum = ut.getMoChecksum(moFile) @@ -96,7 +97,7 @@ function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPr if (outputFormat === 'cxf') { const jsonOp = JSON.parse(fs.readFileSync(outputFileName, 'utf8')) const allObjectsJson = generateAllObjectsJson(jsonOp, moFile, tempDir, prettyPrint) - generateCxf(allObjectsJson, moFile, tempDir, prettyPrint) + generateCxf(allObjectsJson, moFile, tempDir, prettyPrint, generateCxfCore) } return null } @@ -106,7 +107,6 @@ function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPr const da = jq.simplifyModelicaJSON(rawJson, parseMode) // create temp directory to host the json output before adding the svg contents const tempJsonPath = ut.getOutputFile(moFile, 'json', tempDir) - console.log(moFile, tempJsonPath) // write the simplified json output to file const out = (prettyPrint === 'false') ? JSON.stringify(da) : JSON.stringify(da, null, 2) ut.writeFile(tempJsonPath, out) @@ -117,7 +117,7 @@ function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPr if (outputFormat === 'cxf') { const jsonOp = JSON.parse(fs.readFileSync(tempJsonPath, 'utf8')) const allObjectsJson2 = generateAllObjectsJson(jsonOp, moFile, tempDir, prettyPrint) - generateCxf(allObjectsJson2, moFile, tempDir, prettyPrint) + generateCxf(allObjectsJson2, moFile, tempDir, prettyPrint, generateCxfCore) } // add the full path to the list @@ -128,7 +128,7 @@ function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPr if (instantiateClass.length > 0) { instantiateClass.forEach(function (obj) { if (!parsedFile.includes(obj)) { - parsedFile.push(getSimpleJson(obj, parseMode, tempDir, parsedFile, outDir, prettyPrint, outputFormat)) + parsedFile.push(getSimpleJson(obj, parseMode, tempDir, parsedFile, outDir, prettyPrint, outputFormat, generateCxfCore)) } }) } @@ -147,17 +147,16 @@ function generateAllObjectsJson (jsonOutput, moFile, tempDir, prettyPrint) { function generateCxf (jsonOutput, moFile, tempDir, prettyPrint, generateCxfCore=false) { fileNameTokens = moFile.split('.mo')[0].split(path.sep) if (fileNameTokens.slice(fileNameTokens.length-3)[0] === "CDL") { - console.log("elementary Block") var cxfGraphJsonLd if (generateCxfCore) { const instances = jsonOutput.instances const requiredReferences = jsonOutput.requiredReferences const blockName = moFile.split(path.sep)[moFile.split(path.sep).length - 1].split('.mo')[0] - cxfGraphJsonLd = Object.assign({}, cxfGraphJsonLd, oe.getCxfGraph(instances, requiredReferences, blockName, true)) + cxfGraphJsonLd = Object.assign({}, cxfGraphJsonLd, oe.getCxfGraph(instances, requiredReferences, blockName, generateCxfCore)) } if (cxfGraphJsonLd !== undefined && cxfGraphJsonLd !== null) { const cxfCoreGraphJsonLdOut = (prettyPrint === 'false') ? JSON.stringify(cxfGraphJsonLd) : JSON.stringify(cxfGraphJsonLd, null, 2) - const cxfCorePath = ut.getOutputFile('CXF-core.jsonld', 'cxf', tempDir) + const cxfCorePath = ut.getOutputFile(moFile, 'cxf', tempDir) ut.writeFile(cxfCorePath, cxfCoreGraphJsonLdOut) } } else { From 70eb0c5c8b474344cd3aebea703586f8710fbbbe Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Tue, 19 Mar 2024 16:35:16 -0700 Subject: [PATCH 16/25] handling parsing of CDL elementaryBlocks and updated test --- app.js | 12 +- lib/cxfExtractor.js | 349 ++++++++++++++++++ lib/objectExtractor.js | 319 +--------------- lib/parser.js | 14 +- .../test/FromModelica/ConditionalBlock.jsonld | 1 + .../FromModelica/CustomPWithLimiter.jsonld | 1 + .../cxf/test/FromModelica/Enable.jsonld | 41 +- .../MisplacedInfoWithEquation.jsonld | 1 + .../MisplacedInfoWithParameter.jsonld | 1 + .../test/FromModelica/NoClassComment.jsonld | 1 + .../cxf/test/FromModelica/NoWithin.jsonld | 1 + .../cxf/test/FromModelica/Parameter1.jsonld | 1 + .../Parameter1WithVendorAnnotation.jsonld | 1 + .../cxf/test/FromModelica/Parameter2.jsonld | 9 + .../cxf/test/FromModelica/Parameter3.jsonld | 1 + .../ParameterWithAttributes.jsonld | 1 + .../ParameterWithDefaultName.jsonld | 1 + .../FromModelica/ParameterWithInfo.jsonld | 1 + ...ParameterWithVendorAnnotationInInfo.jsonld | 1 + .../test/FromModelica/RemovableInputs.jsonld | 3 + .../test/FromModelica/TestEvaluation_1.jsonld | 1 + .../test/FromModelica/TestEvaluation_2.jsonld | 2 + .../test/FromModelica/TestEvaluation_3.jsonld | 2 + .../test/FromModelica/TestEvaluation_4.jsonld | 2 + .../FromModelica/VariableModification.jsonld | 71 ++++ .../cxf/test/FromModelica/package.jsonld | 1 + .../Buildings/Controls/OBC/CDL/Constants.json | 6 +- .../Controls/OBC/CDL/Reals/Limiter.json | 6 +- .../test/FromModelica/BlockInputOutput.json | 4 + .../test/FromModelica/BlockWithBlock1.json | 4 + .../test/FromModelica/ConditionalBlock.json | 8 + .../test/FromModelica/CustomPWithLimiter.json | 12 + .../test/FromModelica/DynamicTextColor.json | 2 + .../objects/test/FromModelica/Enable.json | 88 +++++ .../test/FromModelica/ExtendsClause_1.json | 6 + .../test/FromModelica/ExtendsClause_2.json | 6 + .../test/FromModelica/ExtendsClause_3.json | 6 + .../MisplacedInfoWithComponent.json | 2 + .../MisplacedInfoWithEquation.json | 10 + .../MisplacedInfoWithParameter.json | 2 + .../test/FromModelica/MyController.json | 12 + .../MyControllerWithExportAnnotation1.json | 12 + .../MyControllerWithSemantics.json | 12 + .../test/FromModelica/NoClassComment.json | 2 + .../objects/test/FromModelica/NoWithin.json | 2 + .../objects/test/FromModelica/Parameter1.json | 2 + .../Parameter1WithVendorAnnotation.json | 2 + .../objects/test/FromModelica/Parameter2.json | 18 + .../objects/test/FromModelica/Parameter3.json | 4 + .../FromModelica/ParameterWithAttributes.json | 2 + .../ParameterWithDefaultName.json | 2 + .../test/FromModelica/ParameterWithInfo.json | 2 + .../ParameterWithVendorAnnotationInInfo.json | 2 + .../objects/test/FromModelica/PointList.json | 12 + .../test/FromModelica/RemovableInputs.json | 20 + .../test/FromModelica/SubController.json | 4 + .../SubControllerWithSemantics.json | 4 + .../test/FromModelica/TestEvaluation_1.json | 4 + .../test/FromModelica/TestEvaluation_2.json | 10 + .../test/FromModelica/TestEvaluation_3.json | 8 + .../test/FromModelica/TestEvaluation_4.json | 18 + .../FromModelica/VariableModification.json | 6 + .../test/FromModelica/WithCDLElementary.json | 6 + .../objects/test/FromModelica/package.json | 2 + 64 files changed, 828 insertions(+), 341 deletions(-) create mode 100644 lib/cxfExtractor.js create mode 100644 test/reference/cxf/test/FromModelica/VariableModification.jsonld diff --git a/app.js b/app.js index c000750d..84a1624b 100644 --- a/app.js +++ b/app.js @@ -102,11 +102,11 @@ if (args.output === 'modelica') { pa.convertToModelica(args.file, args.directory, false) } else { // Get mo files array - if (args.cxfCore) { - if (!args.file.endsWith("CDL") || !args.output === "cxf") { - throw new Error("In order to generate CXF-core.jsonld, the -f/--file should point to the CDL package (e.g.: Buildings.Controls.OBC.CDL) and -o/--output should be cxf") - } - } + // if (args.cxfCore) { + // if (!args.file.endsWith("CDL") || !args.output === "cxf") { + // throw new Error("In order to generate CXF-core.jsonld, the -f/--file should point to the CDL package (e.g.: Buildings.Controls.OBC.CDL) and -o/--output should be cxf") + // } + // } const completedJsonGeneration = new Promise( function (resolve, reject) { const moFiles = ut.getMoFiles(args.file) @@ -116,7 +116,7 @@ if (args.output === 'modelica') { } ) completedJsonGeneration.then(function () { - if (args.output === 'semantic') { + if (args.output === 'semantic') { se.getSemanticInformation(args.file, args.directory) } }) diff --git a/lib/cxfExtractor.js b/lib/cxfExtractor.js new file mode 100644 index 00000000..0074d2fb --- /dev/null +++ b/lib/cxfExtractor.js @@ -0,0 +1,349 @@ +const rdflib = require('rdflib') + +function checkIfCdlElementaryBlock (name, newInstances) { + if (name in newInstances) { + return newInstances[name].isElementaryBlock + } + if (name !== undefined && name !== null && name.length > 0 && name.split('.').slice(-2, -1)[0] !== undefined && name.split('.').slice(-2, -1)[0].toUpperCase() === 'CDL') { + return true + } + return false +} + +function checkValidCdl (instances, requiredReferences) { + // TODO: check if its valid CDL + if ('extends_clause' in requiredReferences) { + return false + } + return true +} + +function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore = false) { + let instancesList = [] + + if (instances !== null || instances.length > 0) { + instancesList = Object.keys(instances) + } + + if (!checkValidCdl(instances, requiredReferences)) { + return null + } + + const graph = rdflib.graph() + const cxfPrefix = rdflib.Namespace('seq:') + const s231Ns = rdflib.Namespace('https://data.ashrae.org/S231P#') + const rdfNs = rdflib.Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#') + + const uri = blockName + '.jsonld' + + const newInstances = {} + + instancesList.forEach(instance => { + const instanceDict = instances[instance] + const newInstanceDict = {} + let isElementaryBlock = false + // Object.assign(newInstanceDict, instances[instance]); + let instanceType = null + const within = instanceDict.within + + if (instanceDict === null) { + // TODO: handle later + } + instanceType = instanceDict.type + if (instanceType === 'long_class_specifier') { + // check if CDL elementary block + // TODO: check if we should include package name within sequence + if (checkIfCdlElementaryBlock(within, newInstances)) { + isElementaryBlock = true + if (generateCxfCore) { + // TODO: handle cxf-core + graph.add(s231Ns(blockName), rdfNs('type'), s231Ns('ElementaryBlock')) + newInstanceDict.cxfNode = s231Ns(blockName) + newInstanceDict.isElementaryBlock = true + newInstanceDict.generateCxfCore = true + } else { + newInstanceDict.cxfNode = s231Ns(blockName) + newInstanceDict.isElementaryBlock = true + newInstanceDict.generateCxfCore = false + } + } else { + // TODO: how to separate composite block v/s extension block + graph.add(cxfPrefix(blockName), rdfNs('type'), s231Ns('Block')) + newInstanceDict.cxfNode = cxfPrefix(blockName) + newInstanceDict.isElementaryBlock = false + newInstanceDict.generateCxfCore = false + } + } else if (instanceType === 'element') { + const className = instanceDict.long_class_specifier_identifier === undefined ? blockName : instanceDict.long_class_specifier_identifier + let instanceNode + let prefix + if (checkIfCdlElementaryBlock(className, newInstances)) { + instanceNode = s231Ns(`${className}#${instance}`) + isElementaryBlock = true + newInstanceDict.isElementaryBlock = isElementaryBlock + newInstanceDict.generateCxfCore = generateCxfCore + prefix = 's231' + newInstanceDict.prefix = prefix + } else { + instanceNode = cxfPrefix(`${className}#${instance}`) + newInstanceDict.isElementaryBlock = false + newInstanceDict.generateCxfCore = generateCxfCore + prefix = 'seq' + newInstanceDict.prefix = prefix + } + + if ((isElementaryBlock && generateCxfCore) || !isElementaryBlock) { + let blockNode + if (prefix === 's231') { + blockNode = s231Ns(`${className}`) + } else { + blockNode = cxfPrefix(`${className}`) + } + const typeSpecifier = instanceDict.type_specifier + // TODO: handle vectors & array subscript expression + // const isVector = instanceDict.isVector + // let arraySubscripts = instanceDict.arraySubscripts + graph.add(instanceNode, s231Ns('label'), instance) + + if (instanceDict.type_prefix === 'parameter') { + graph.add(blockNode, s231Ns('hasParameter'), instanceNode) + // TODO: check if enumeration should be here + if (typeSpecifier !== undefined && ['Real', 'Integer', 'Boolean', 'String'].includes(typeSpecifier)) { + graph.add(instanceNode, s231Ns('isOfDataType'), s231Ns(typeSpecifier)) + graph.add(instanceNode, rdfNs('type'), s231Ns('Parameter')) + } + } else if (instanceDict.type_prefix === 'constant') { + graph.add(blockNode, s231Ns('hasConstant'), instanceNode) + // TODO: check if enumeration should be here + if (typeSpecifier !== undefined && ['Real', 'Integer', 'Boolean', 'String'].includes(typeSpecifier)) { + graph.add(instanceNode, s231Ns('isOfDataType'), s231Ns(typeSpecifier)) + } + graph.add(instanceNode, rdfNs('type'), s231Ns('Constant')) + } else if (instanceDict.type_prefix === '' || instanceDict.type_prefix === undefined) { + if (typeSpecifier.endsWith('IntegerInput') || typeSpecifier.endsWith('BooleanInput') || typeSpecifier.endsWith('RealInput')) { + // is it inputConnector + graph.add(blockNode, s231Ns('hasInput'), instanceNode) + const inputConnectorType = typeSpecifier.split('.').slice(-1)[0] + graph.add(instanceNode, rdfNs('type'), s231Ns(inputConnectorType)) + } else if (typeSpecifier.endsWith('IntegerOutput') || typeSpecifier.endsWith('BooleanOutput') || typeSpecifier.endsWith('RealOutput')) { + // is it outputConnector + graph.add(blockNode, s231Ns('hasOutput'), instanceNode) + const outputConnectorType = typeSpecifier.split('.').slice(-1)[0] + graph.add(instanceNode, rdfNs('type'), s231Ns(outputConnectorType)) + } else if (typeSpecifier.split('.').slice(-3, -2)[0] !== undefined && typeSpecifier.split('.').slice(-3, -2)[0].toUpperCase() === 'CDL') { + // is it elementary block + graph.add(blockNode, s231Ns('containsBlock'), instanceNode) + const cxfElementaryBlockName = ['CXF'].concat(typeSpecifier.split('.').slice(-2)).join('.') + graph.add(instanceNode, rdfNs('type'), s231Ns(cxfElementaryBlockName)) + } else { + // TODO: how to distinguish between control sequences and models? + graph.add(blockNode, s231Ns('containsBlock'), instanceNode) + graph.add(instanceNode, rdfNs('type'), cxfPrefix(typeSpecifier)) + } + } + if ('single_component_list' in instanceDict) { + if ('description' in instanceDict.single_component_list) { + if ('description_string' in instanceDict.single_component_list.description) { + const descriptionString = instanceDict.single_component_list.description.description_string + graph.add(instanceNode, s231Ns('description'), descriptionString) + } + } + if ('declaration' in instanceDict.single_component_list) { + if ('modification' in instanceDict.single_component_list.declaration) { + const attributeList = ['start', 'nominal', 'fixed', 'instantiate', 'min', 'max', 'unit', 'quantity', 'value', 'displayUnit'] + const mod = instanceDict.single_component_list.declaration.modification + const modDict = parseModification(mod, instance, attributeList, typeSpecifier) + Object.keys(modDict).forEach(key => { + if (attributeList.includes(key)) { + addAttributesToNode(graph, s231Ns, cxfPrefix, className, key, modDict, instanceNode) + } else { + if (key.includes('.')) { + Object.keys(modDict[key]).forEach(key2 => { + if (prefix === 's231') { + addAttributesToNode(graph, s231Ns, cxfPrefix, className, key2, Object.assign({}, modDict[key]), s231Ns(`${className}#${key}`)) + } else { + addAttributesToNode(graph, s231Ns, cxfPrefix, className, key2, Object.assign({}, modDict[key]), cxfPrefix(`${className}#${key}`)) + } + }) + } + } + }) + } + } + } + if ('compositionSpecifier' in instanceDict) { + const compositionSpecifier = instanceDict.compositionSpecifier + if (compositionSpecifier === 'public' || compositionSpecifier === 'protected') { + graph.add(instanceNode, s231Ns('accessSpecifier'), compositionSpecifier) + } + } + if ('annotation' in instanceDict && instanceDict.annotation !== null && instanceDict.annotation !== undefined && instanceDict.annotation.length > 0) { + instanceDict.annotation.forEach(eleModRep => { + if ('element_modification_or_replaceable' in eleModRep) { + if ('element_modification' in eleModRep.element_modification_or_replaceable) { + const graphicalObj = eleModRep.element_modification_or_replaceable.element_modification + const graphicalObjStr = JSON.stringify(graphicalObj) + graph.add(instanceNode, s231Ns('graphics'), graphicalObjStr) + } + } + }) + } + } + newInstanceDict.cxfNode = instanceNode + } + newInstances[instance] = newInstanceDict + }) + + const connections = requiredReferences.connections + if (connections !== undefined && connections !== null) { + Object.keys(connections).forEach(fromElement => { + const fromNode = getInstanceNode(fromElement, newInstances, s231Ns, cxfPrefix) + + const toElements = connections[fromElement] + toElements.forEach(toElement => { + const toNode = getInstanceNode(toElement, newInstances, s231Ns, cxfPrefix) + if (fromNode !== null && toNode !== null) { + graph.add(fromNode, s231Ns('isConnectedTo'), toNode) + } + }) + }) + } + + let cxfJson = null + rdflib.serialize(null, graph, uri, 'application/ld+json', (err, jsonldData) => { + if (err) { + throw err + } + cxfJson = JSON.parse(jsonldData) + }) + return cxfJson +} + +function getInstanceNode (element, newInstances, s231Ns, cxfPrefix) { + let node = null + if (element.split('.').length > 1) { + let instance = element.split('.').slice(0, 1)[0] + while (!(instance in newInstances)) { + instance = instance.split('.').slice(0, 1)[0] + } + if (instance in newInstances) { + const instanceNode = newInstances[instance].cxfNode + const className = instanceNode.value.split('#')[0].split(':').slice(-1)[0] + const prefix = instanceNode.prefix + if (prefix === 's231') { + node = s231Ns(`${className}#${element}`) + } else { + node = cxfPrefix(`${className}#${element}`) + } + } + } else { + node = newInstances[element].cxfNode + } + return node +} + +function addAttributesToNode (graph, s231Ns, cxfPrefix, className, key, modDict, instanceNode) { + const qudt = rdflib.Namespace('http://qudt.org/schema/qudt#') + if (key === 'value') { + graph.add(instanceNode, s231Ns('value'), modDict.value) + } else { + if (key === 'final') { + graph.add(instanceNode, s231Ns('isFinal'), true) + } + const value = modDict[key].value + if (['start', 'nominal', 'fixed', 'instantiate', 'min', 'max'].includes(key)) { + graph.add(instanceNode, s231Ns(key), value) + } else if (key === 'unit') { + // TODO: check qudt class name + graph.add(instanceNode, qudt('hasUnit'), qudt(value)) + } else if (key === 'displayUnit') { + // TODO: check qudt class name + graph.add(instanceNode, qudt('hasDisplayUnit'), qudt(value)) + } else if (key === 'quantity') { + // TODO: check qudt class name + graph.add(instanceNode, qudt('hasQuantityKind'), qudt(value)) + } + } +} + +function parseModification (mod, instance, attributeList, typeSpecifier = '') { + let res = {} + if ('equal' in mod && mod.equal) { + let value = mod.expression.simple_expression + if (typeof value === 'string') { + if (isNaN(Number(value))) { + value = value.replace(/"/g, '') + value = value.replace(/'/g, '') + if (value === 'true') { + res.value = true + } else if (value === 'false') { + res.value = false + } else { + res.value = value + } + } else { + res.value = Number(value) + } + } else { + if ('function_call' in value) { + res.value = value.function_call.name + '(' + value.function_call.arguments.forEach(arg => { + if ('name' in arg) { + if (!res.value.endsWith('(')) { + res.value += ', ' + } + res.value += arg.name + } else if ('expression' in arg) { + if ('simple_expression' in arg.expression) { + res.value += arg.expression.simple_expression + } + } else if ('for_loop' in arg) { + const forLoop = arg.for_loop + res.value += parseForLoop(forLoop) + } + }) + res.value += ')' + } + } + } + let res2 + if ('class_modification' in mod) { + res2 = parseClassModification(mod.class_modification, instance, attributeList) + } + res = Object.assign({}, res, res2) + return res +} + +function parseClassModification (classMod, instance, attributeList) { + const res = {} + classMod.forEach(eleModRep => { + if ('element_modification_or_replaceable' in eleModRep) { + if ('element_modification' in eleModRep.element_modification_or_replaceable) { + let eleModName = eleModRep.element_modification_or_replaceable.element_modification.name + if (!attributeList.includes(eleModName)) { + eleModName = instance + '.' + eleModName + } + let modDict + if ('modification' in eleModRep.element_modification_or_replaceable.element_modification) { + modDict = parseModification(eleModRep.element_modification_or_replaceable.element_modification.modification, instance, attributeList) + } + res[eleModName] = modDict + if ('final' in eleModRep.element_modification_or_replaceable && eleModRep.element_modification_or_replaceable.final) { + res[eleModName].final = true + } + } + } + }) + return res +} + +function parseForLoop (forLoop) { + // TODO + if (forLoop === undefined || forLoop === null) { + return '' + } else { + return JSON.stringify(forLoop) + } +} + +module.exports.getCxfGraph = getCxfGraph diff --git a/lib/objectExtractor.js b/lib/objectExtractor.js index 79c07d10..496af06b 100644 --- a/lib/objectExtractor.js +++ b/lib/objectExtractor.js @@ -1,5 +1,3 @@ -const rdflib = require('rdflib') - // TODO: change structure to put all instances in "defined_instances" keyword /* @@ -331,6 +329,21 @@ function extractFromElementList (elementList, longClassSpecifierIdentifier, full annotation = singleComponentList.description.annotation } } + let isVector = false + let singleComponentArraySubscripts = '' + if ('array_subscripts' in singleComponentList.declaration) { + isVector = true + singleComponentList.declaration.array_subscripts.forEach(subscript => { + if ('expression' in subscript) { + if ('simple_expression' in subscript.expression) { + singleComponentArraySubscripts += subscript.expression.simple_expression + } + } + }) + if (singleComponentArraySubscripts !== '') { + singleComponentArraySubscripts = '[' + singleComponentArraySubscripts + ']' + } + } instances[identifier] = { type_prefix: typePrefix, type_specifier: typeSpecifier, @@ -342,6 +355,8 @@ function extractFromElementList (elementList, longClassSpecifierIdentifier, full annotation, semantics: extractSemanticsFromAnnotations(annotation, identifier), cdl_annotations: extractCdlAnnotations(annotation), + isVector, + arraySubscripts: singleComponentArraySubscripts, within, fullMoFilePath } @@ -493,307 +508,7 @@ function extractSemanticsFromAnnotations (annotation, instanceIdentifier) { return semantics } -function checkIfCdlElementaryBlock (name, newInstances) { - if (name in newInstances) { - return newInstances[name].isElementaryBlock - } - if (name !== undefined && name !== null && name.length > 0 && name.split('.').slice(-2, -1)[0] !== undefined && name.split('.').slice(-2, -1)[0].toUpperCase() === 'CDL') { - return true - } - return false -} - -function checkValidCdl (instances, requiredReferences) { - // TODO: check if its valid CDL - if ('extends_clause' in requiredReferences) { - return false - } - return true -} - -function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore = false) { - let instancesList = [] - - if (instances !== null || instances.length > 0) { - instancesList = Object.keys(instances) - } - - if (!checkValidCdl(instances, requiredReferences)) { - return null - } - - const graph = rdflib.graph() - const cxfPrefix = rdflib.Namespace('seq:') - const s231Ns = rdflib.Namespace('https://data.ashrae.org/S231P#') - const rdfNs = rdflib.Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#') - const qudt = rdflib.Namespace('http://qudt.org/schema/qudt#') - - const uri = blockName + '.jsonld' - - const newInstances = {} - - instancesList.forEach(instance => { - const instanceDict = instances[instance] - const newInstanceDict = {} - let isElementaryBlock = false - // Object.assign(newInstanceDict, instances[instance]); - let instanceType = null - const within = instanceDict.within - - if (instanceDict === null) { - // TODO: handle later - } - instanceType = instanceDict.type - if (instanceType === 'long_class_specifier') { - // check if CDL elementary block - // TODO: check if we should include package name within sequence - if (checkIfCdlElementaryBlock(within, newInstances)) { - isElementaryBlock = true - if (generateCxfCore) { - // TODO: handle cxf-core - graph.add(s231Ns(blockName), rdfNs('type'), s231Ns('ElementaryBlock')) - newInstanceDict.cxfNode = s231Ns(blockName) - newInstanceDict.isElementaryBlock = true - newInstanceDict.generateCxfCore = true - } else { - newInstanceDict.cxfNode = s231Ns(blockName) - newInstanceDict.isElementaryBlock = true - newInstanceDict.generateCxfCore = false - } - } else { - // TODO: how to separate composite block v/s extension block - graph.add(cxfPrefix(blockName), rdfNs('type'), s231Ns('Block')) - newInstanceDict.cxfNode = cxfPrefix(blockName) - newInstanceDict.isElementaryBlock = false - newInstanceDict.generateCxfCore = false - } - } else if (instanceType === 'element') { - const className = instanceDict.long_class_specifier_identifier === undefined ? blockName : instanceDict.long_class_specifier_identifier - let instanceNode - let prefix - if (checkIfCdlElementaryBlock(className, newInstances)) { - console.log("elemBLock") - instanceNode = s231Ns(`${className}#${instance}`) - isElementaryBlock = true - newInstanceDict.isElementaryBlock = isElementaryBlock - newInstanceDict.generateCxfCore = generateCxfCore - prefix = 's231' - newInstanceDict.prefix = prefix - } else { - instanceNode = cxfPrefix(`${className}#${instance}`) - newInstanceDict.isElementaryBlock = false - newInstanceDict.generateCxfCore = generateCxfCore - prefix = 'seq' - newInstanceDict.prefix = prefix - } - - if ((isElementaryBlock && generateCxfCore) || !isElementaryBlock) { - let blockNode - if (prefix == 's231') { - blockNode = s231Ns(`${className}`) - } else { - blockNode = cxfPrefix(`${className}`) - } - const typeSpecifier = instanceDict.type_specifier - graph.add(instanceNode, s231Ns('label'), instance) - - if (instanceDict.type_prefix === 'parameter') { - graph.add(blockNode, s231Ns('hasParameter'), instanceNode) - // TODO: check if enumeration should be here - if (typeSpecifier !== undefined && ['Real', 'Integer', 'Boolean', 'String'].includes(typeSpecifier)) { - graph.add(instanceNode, s231Ns('isOfDataType'), s231Ns(typeSpecifier)) - } - } else if (instanceDict.type_prefix === 'constant') { - graph.add(blockNode, s231Ns('hasConstant'), instanceNode) - // TODO: check if enumeration should be here - if (typeSpecifier !== undefined && ['Real', 'Integer', 'Boolean', 'String'].includes(typeSpecifier)) { - graph.add(instanceNode, s231Ns('isOfDataType'), s231Ns(typeSpecifier)) - } - } else if (instanceDict.type_prefix === '' || instanceDict.type_prefix === undefined) { - if (typeSpecifier.endsWith('IntegerInput') || typeSpecifier.endsWith('BooleanInput') || typeSpecifier.endsWith('RealInput')) { - // is it inputConnector - graph.add(blockNode, s231Ns('hasInput'), instanceNode) - const inputConnectorType = typeSpecifier.split('.').slice(-1)[0] - graph.add(instanceNode, rdfNs('type'), s231Ns(inputConnectorType)) - } else if (typeSpecifier.endsWith('IntegerOutput') || typeSpecifier.endsWith('BooleanOutput') || typeSpecifier.endsWith('RealOutput')) { - // is it outputConnector - graph.add(blockNode, s231Ns('hasOutput'), instanceNode) - const outputConnectorType = typeSpecifier.split('.').slice(-1)[0] - graph.add(instanceNode, rdfNs('type'), s231Ns(outputConnectorType)) - } else if (typeSpecifier.split('.').slice(-3, -2)[0] !== undefined && typeSpecifier.split('.').slice(-3, -2)[0].toUpperCase() === 'CDL') { - // is it elementary block - graph.add(blockNode, s231Ns('containsBlock'), instanceNode) - const cxfElementaryBlockName = ['CXF'].concat(typeSpecifier.split('.').slice(-2)).join('.') - graph.add(instanceNode, rdfNs('type'), s231Ns(cxfElementaryBlockName)) - } else { - // TODO: how to distinguish between control sequences and models? - graph.add(blockNode, s231Ns('containsBlock'), instanceNode) - graph.add(instanceNode, rdfNs('type'), cxfPrefix(typeSpecifier)) - } - } - if ('single_component_list' in instanceDict) { - if ('description' in instanceDict.single_component_list) { - if ('description_string' in instanceDict.single_component_list.description) { - const descriptionString = instanceDict.single_component_list.description.description_string - graph.add(instanceNode, s231Ns('description'), descriptionString) - } - } - if ('declaration' in instanceDict.single_component_list) { - if ('modification' in instanceDict.single_component_list.declaration) { - const mod = instanceDict.single_component_list.declaration.modification - const modDict = parseModification(mod, typeSpecifier) - Object.keys(modDict).forEach(key => { - if (key === 'value') { - graph.add(instanceNode, s231Ns('value'), modDict.value) - } else { - let isFinal = false - if ('final' in modDict[key]) { - isFinal = true - } - const value = modDict[key].value - // TODO: handle final - // const final = modDict[key].final ? true: false - if (['start', 'nominal', 'fixed', 'instantiate', 'min', 'max'].includes(key)) { - graph.add(instanceNode, s231Ns(key), value) - } else if (key === 'unit') { - // TODO: check qudt class name - graph.add(instanceNode, qudt('hasUnit'), qudt(value)) - } else if (key === 'quantity') { - // TODO: check qudt class name - graph.add(instanceNode, qudt('hasQuantityKind'), qudt(value)) - } else { - const node = cxfPrefix(`${className}#${instance}.${key}`) - graph.add(node, s231Ns('value'), value) - if (isFinal) { - graph.add(node, s231Ns('isFinal'), true) - } - } - } - }) - } - } - } - if ('compositionSpecifier' in instanceDict) { - const compositionSpecifier = instanceDict.compositionSpecifier - if (compositionSpecifier === 'public' || compositionSpecifier === 'protected') { - graph.add(instanceNode, s231Ns('accessSpecifier'), compositionSpecifier) - } - } - if ('annotation' in instanceDict && instanceDict.annotation !== null && instanceDict.annotation !== undefined && instanceDict.annotation.length > 0) { - instanceDict.annotation.forEach(eleModRep => { - if ('element_modification_or_replaceable' in eleModRep) { - if ('element_modification' in eleModRep.element_modification_or_replaceable) { - const graphicalObj = eleModRep.element_modification_or_replaceable.element_modification - const graphicalObjStr = JSON.stringify(graphicalObj) - graph.add(instanceNode, s231Ns('graphics'), graphicalObjStr) - } - } - }) - } - } - newInstanceDict.cxfNode = instanceNode - } - newInstances[instance] = newInstanceDict - }) - - const connections = requiredReferences.connections - if (connections !== undefined && connections !== null) { - Object.keys(connections).forEach(fromElement => { - const fromNode = getInstanceNode(fromElement, newInstances, s231Ns, cxfPrefix) - - const toElements = connections[fromElement] - toElements.forEach(toElement => { - const toNode = getInstanceNode(fromElement, newInstances, s231Ns, cxfPrefix) - if (fromNode !== null && toNode !== null) { - graph.add(fromNode, s231Ns('isConnectedTo'), toNode) - } - }) - }) - } - - let cxfJson = null - rdflib.serialize(null, graph, uri, 'application/ld+json', (err, jsonldData) => { - if (err) { - throw err - } - cxfJson = JSON.parse(jsonldData) - }) - return cxfJson -} - -function getInstanceNode (element, newInstances, s231Ns, cxfPrefix) { - let node = null - if (element.split('.').length > 1) { - var instance = element.split('.').slice(0, 1)[0] - while (!(instance in newInstances)) { - instance = instance.split('.').slice(0, 1)[0] - } - if (instance in newInstances) { - const instanceNode = newInstances[instance].cxfNode - const className = instanceNode.value.split('#')[0].split(':').slice(-1)[0] - var prefix = instanceNode.prefix - if (prefix == 's231') { - node = s231Ns(`${className}#${element}`) - } else { - node = cxfPrefix(`${className}#${element}`) - } - } - } else { - node = newInstances[element].cxfNode - } - return node -} - -function parseModification (mod, typeSpecifier = '') { - let res = {} - if ('equal' in mod && mod.equal) { - let value = mod.expression.simple_expression - if (typeof value === 'string') { - if (isNaN(Number(value))) { - value = value.replace(/"/g, '') - value = value.replace(/'/g, '') - if (value === 'true') { - res.value = true - } else if (value === 'false') { - res.value = false - } else { - res.value = value - } - } else { - res.value = Number(value) - } - } - } - let res2 - if ('class_modification' in mod) { - res2 = parseClassModification(mod.class_modification) - } - res = Object.assign({}, res, res2) - return res -} - -function parseClassModification (classMod) { - const res = {} - classMod.forEach(eleModRep => { - if ('element_modification_or_replaceable' in eleModRep) { - if ('element_modification' in eleModRep.element_modification_or_replaceable) { - const eleModName = eleModRep.element_modification_or_replaceable.element_modification.name - let modDict - if ('modification' in eleModRep.element_modification_or_replaceable.element_modification) { - modDict = parseModification(eleModRep.element_modification_or_replaceable.element_modification.modification) - } - res[eleModName] = modDict - if ('final' in eleModRep.element_modification_or_replaceable && eleModRep.element_modification_or_replaceable.final) { - res[eleModName].final = true - } - } - } - }) - return res -} - module.exports.extractAllObjects = extractAllObjects module.exports.updateConnections = updateConnections module.exports.updateRequiredReferences = updateRequiredReferences module.exports.extractSemanticsFromAnnotations = extractSemanticsFromAnnotations -module.exports.getCxfGraph = getCxfGraph diff --git a/lib/parser.js b/lib/parser.js index bac76ce7..14a4a626 100644 --- a/lib/parser.js +++ b/lib/parser.js @@ -4,6 +4,7 @@ const ut = require('../lib/util.js') const logger = require('winston') const fs = require('bluebird').promisifyAll(require('fs')) const oe = require('./objectExtractor.js') +const cxfExt = require('./cxfExtractor.js') const path = require('path') const storedDefiniton = require('../json2mo/storedDefiniton') @@ -82,7 +83,6 @@ function getRawJson (moFile, outputFormat) { * @param generateCxfCore Flag to indicate whether or not to generate CXF-core.jsonld */ function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPrint, outputFormat, generateCxfCore) { - console.log("line 85 ", generateCxfCore) const outputFileName = ut.getOutputFile(moFile, 'json', outDir) // find the modelica file checksum const moChecksum = ut.getMoChecksum(moFile) @@ -144,15 +144,15 @@ function generateAllObjectsJson (jsonOutput, moFile, tempDir, prettyPrint) { return allObjectsJson } -function generateCxf (jsonOutput, moFile, tempDir, prettyPrint, generateCxfCore=false) { - fileNameTokens = moFile.split('.mo')[0].split(path.sep) - if (fileNameTokens.slice(fileNameTokens.length-3)[0] === "CDL") { - var cxfGraphJsonLd +function generateCxf (jsonOutput, moFile, tempDir, prettyPrint, generateCxfCore = false) { + const fileNameTokens = moFile.split('.mo')[0].split(path.sep) + if (fileNameTokens.slice(fileNameTokens.length - 3)[0] === 'CDL') { + let cxfGraphJsonLd if (generateCxfCore) { const instances = jsonOutput.instances const requiredReferences = jsonOutput.requiredReferences const blockName = moFile.split(path.sep)[moFile.split(path.sep).length - 1].split('.mo')[0] - cxfGraphJsonLd = Object.assign({}, cxfGraphJsonLd, oe.getCxfGraph(instances, requiredReferences, blockName, generateCxfCore)) + cxfGraphJsonLd = Object.assign({}, cxfGraphJsonLd, cxfExt.getCxfGraph(instances, requiredReferences, blockName, generateCxfCore)) } if (cxfGraphJsonLd !== undefined && cxfGraphJsonLd !== null) { const cxfCoreGraphJsonLdOut = (prettyPrint === 'false') ? JSON.stringify(cxfGraphJsonLd) : JSON.stringify(cxfGraphJsonLd, null, 2) @@ -163,7 +163,7 @@ function generateCxf (jsonOutput, moFile, tempDir, prettyPrint, generateCxfCore= const instances = jsonOutput.instances const requiredReferences = jsonOutput.requiredReferences const blockName = moFile.split(path.sep)[moFile.split(path.sep).length - 1].split('.mo')[0] - const cxfGraphJsonLd = oe.getCxfGraph(instances, requiredReferences, blockName) + const cxfGraphJsonLd = cxfExt.getCxfGraph(instances, requiredReferences, blockName) if (cxfGraphJsonLd !== undefined && cxfGraphJsonLd !== null) { const cxfGraphJsonLdOut = (prettyPrint === 'false') ? JSON.stringify(cxfGraphJsonLd) : JSON.stringify(cxfGraphJsonLd, null, 2) const cxfPath = ut.getOutputFile(moFile, 'cxf', tempDir) diff --git a/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld b/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld index 10e0e7b4..5b747979 100644 --- a/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld +++ b/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld @@ -29,6 +29,7 @@ }, { "@id": "seq:ConditionalBlock#enaBlo", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Flag for enabling instance", "S231P:isOfDataType": { diff --git a/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld b/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld index 14ccfb61..7fe4b96a 100644 --- a/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld +++ b/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld @@ -61,6 +61,7 @@ }, { "@id": "seq:CustomPWithLimiter#k", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Constant gain", "S231P:isOfDataType": { diff --git a/test/reference/cxf/test/FromModelica/Enable.jsonld b/test/reference/cxf/test/FromModelica/Enable.jsonld index 89fd1b13..3eb41255 100644 --- a/test/reference/cxf/test/FromModelica/Enable.jsonld +++ b/test/reference/cxf/test/FromModelica/Enable.jsonld @@ -236,6 +236,7 @@ }, { "@id": "seq:Enable#delEntHis", + "@type": "S231P:Parameter", "qudt:hasQuantityKind": { "@id": "qudt:SpecificEnergy" }, @@ -291,6 +292,10 @@ }, { "@id": "seq:Enable#delTOutHis", + "@type": "S231P:Parameter", + "qudt:hasDisplayUnit": { + "@id": "qudt:K" + }, "qudt:hasQuantityKind": { "@id": "qudt:TemperatureDifference" }, @@ -306,13 +311,9 @@ "S231P:label": "delTOutHis", "S231P:value": 1 }, - { - "@id": "seq:Enable#delTOutHis.displayUnit", - "S231P:isFinal": true, - "S231P:value": "K" - }, { "@id": "seq:Enable#disDel", + "@type": "S231P:Parameter", "qudt:hasQuantityKind": { "@id": "qudt:Time" }, @@ -383,6 +384,7 @@ }, { "@id": "seq:Enable#hOutHigLimCutHig", + "@type": "S231P:Parameter", "qudt:hasQuantityKind": { "@id": "qudt:SpecificEnergy" }, @@ -399,6 +401,7 @@ }, { "@id": "seq:Enable#hOutHigLimCutLow", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "protected", "S231P:description": "Hysteresis block low limit cutoff", "S231P:isOfDataType": { @@ -569,6 +572,7 @@ }, { "@id": "seq:Enable#retDamFulOpeTim", + "@type": "S231P:Parameter", "qudt:hasQuantityKind": { "@id": "qudt:Time" }, @@ -629,6 +633,9 @@ { "@id": "seq:Enable#TOut", "@type": "S231P:RealInput", + "qudt:hasDisplayUnit": { + "@id": "qudt:degC" + }, "qudt:hasQuantityKind": { "@id": "qudt:ThermodynamicTemperature" }, @@ -643,14 +650,12 @@ }, "S231P:label": "TOut" }, - { - "@id": "seq:Enable#TOut.displayUnit", - "S231P:isFinal": true, - "S231P:value": "degC" - }, { "@id": "seq:Enable#TOutCut", "@type": "S231P:RealInput", + "qudt:hasDisplayUnit": { + "@id": "qudt:degC" + }, "qudt:hasQuantityKind": { "@id": "qudt:ThermodynamicTemperature" }, @@ -665,13 +670,12 @@ }, "S231P:label": "TOutCut" }, - { - "@id": "seq:Enable#TOutCut.displayUnit", - "S231P:isFinal": true, - "S231P:value": "degC" - }, { "@id": "seq:Enable#TOutHigLimCutHig", + "@type": "S231P:Parameter", + "qudt:hasDisplayUnit": { + "@id": "qudt:K" + }, "qudt:hasQuantityKind": { "@id": "qudt:TemperatureDifference" }, @@ -686,13 +690,9 @@ "S231P:label": "TOutHigLimCutHig", "S231P:value": 0 }, - { - "@id": "seq:Enable#TOutHigLimCutHig.displayUnit", - "S231P:isFinal": true, - "S231P:value": "K" - }, { "@id": "seq:Enable#TOutHigLimCutLow", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "protected", "S231P:description": "Hysteresis low limit cutoff", "S231P:isOfDataType": { @@ -834,6 +834,7 @@ }, { "@id": "seq:Enable#use_enthalpy", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Set to true to evaluate outdoor air (OA) enthalpy in addition to temperature", "S231P:graphics": "{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Conditional\\\"\"}}}}}]}}", diff --git a/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld b/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld index d4d787cc..add8e97d 100644 --- a/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld +++ b/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld @@ -45,6 +45,7 @@ }, { "@id": "seq:MisplacedInfoWithEquation#k", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Constant gain", "S231P:isOfDataType": { diff --git a/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld b/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld index 0ba7218d..755c77e2 100644 --- a/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld +++ b/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld @@ -12,6 +12,7 @@ }, { "@id": "seq:MisplacedInfoWithParameter#kP", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", "S231P:graphics": "{\"name\":\"Documentation\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"info\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"\\n

\\nThis is the info section.\\n

\\n\\\"\"}}}}}]}}", diff --git a/test/reference/cxf/test/FromModelica/NoClassComment.jsonld b/test/reference/cxf/test/FromModelica/NoClassComment.jsonld index 8bc2aa47..f28194ce 100644 --- a/test/reference/cxf/test/FromModelica/NoClassComment.jsonld +++ b/test/reference/cxf/test/FromModelica/NoClassComment.jsonld @@ -12,6 +12,7 @@ }, { "@id": "seq:NoClassComment#kP", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", "S231P:isOfDataType": { diff --git a/test/reference/cxf/test/FromModelica/NoWithin.jsonld b/test/reference/cxf/test/FromModelica/NoWithin.jsonld index 97ee12b0..07878247 100644 --- a/test/reference/cxf/test/FromModelica/NoWithin.jsonld +++ b/test/reference/cxf/test/FromModelica/NoWithin.jsonld @@ -11,6 +11,7 @@ }, { "@id": "seq:FromModelica#one", + "@type": "S231P:Constant", "S231P:accessSpecifier": "public", "S231P:description": "An integer constant with value 1", "S231P:isOfDataType": { diff --git a/test/reference/cxf/test/FromModelica/Parameter1.jsonld b/test/reference/cxf/test/FromModelica/Parameter1.jsonld index c8465ccc..9cdb9bdc 100644 --- a/test/reference/cxf/test/FromModelica/Parameter1.jsonld +++ b/test/reference/cxf/test/FromModelica/Parameter1.jsonld @@ -12,6 +12,7 @@ }, { "@id": "seq:Parameter1#kP", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", "S231P:isOfDataType": { diff --git a/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld b/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld index 66ae25de..24a894c2 100644 --- a/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld +++ b/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld @@ -12,6 +12,7 @@ }, { "@id": "seq:Parameter1WithVendorAnnotation#kP", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", "S231P:graphics": "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"haystack\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"{ \\\\\\\"dis\\\\\\\": \\\\\\\"site\\\\\\\",\\n \\\\\\\"area\\\\\\\": 400 }\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"brick\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"xxxxx\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"point\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"digital\"}}}}}]}}", diff --git a/test/reference/cxf/test/FromModelica/Parameter2.jsonld b/test/reference/cxf/test/FromModelica/Parameter2.jsonld index b05d5a44..6d4d51b0 100644 --- a/test/reference/cxf/test/FromModelica/Parameter2.jsonld +++ b/test/reference/cxf/test/FromModelica/Parameter2.jsonld @@ -39,6 +39,7 @@ }, { "@id": "seq:Parameter2#myPar1", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", "S231P:isOfDataType": { @@ -49,6 +50,7 @@ }, { "@id": "seq:Parameter2#myParInGroup", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", "S231P:graphics": "{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Gains\\\"\"}}}}}]}}", @@ -59,6 +61,7 @@ }, { "@id": "seq:Parameter2#myParInTab", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", "S231P:graphics": "{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Initialization tab\\\"\"}}}}}]}}", @@ -69,6 +72,7 @@ }, { "@id": "seq:Parameter2#myParInTabInGroup1", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment 1", "S231P:graphics": "{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Initialization tab\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Initial state\\\"\"}}}}}]}}", @@ -79,6 +83,7 @@ }, { "@id": "seq:Parameter2#myParInTabInGroup2", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment 2", "S231P:graphics": "{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Initialization tab\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Initial state\\\"\"}}}}}]}}", @@ -89,6 +94,7 @@ }, { "@id": "seq:Parameter2#myParMax", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", "S231P:isOfDataType": { @@ -99,6 +105,7 @@ }, { "@id": "seq:Parameter2#myParMin", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", "S231P:isOfDataType": { @@ -109,6 +116,7 @@ }, { "@id": "seq:Parameter2#myParNoValue", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", "S231P:isOfDataType": { @@ -118,6 +126,7 @@ }, { "@id": "seq:Parameter2#myParUnit", + "@type": "S231P:Parameter", "qudt:hasUnit": { "@id": "qudt:K" }, diff --git a/test/reference/cxf/test/FromModelica/Parameter3.jsonld b/test/reference/cxf/test/FromModelica/Parameter3.jsonld index 718dffca..f643088a 100644 --- a/test/reference/cxf/test/FromModelica/Parameter3.jsonld +++ b/test/reference/cxf/test/FromModelica/Parameter3.jsonld @@ -17,6 +17,7 @@ }, { "@id": "seq:Parameter3#myPar1", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", "S231P:isOfDataType": { diff --git a/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld index 6a46f919..5c72154a 100644 --- a/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld +++ b/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld @@ -13,6 +13,7 @@ }, { "@id": "seq:ParameterWithAttributes#kP", + "@type": "S231P:Parameter", "qudt:hasQuantityKind": { "@id": "qudt:PressureDifference" }, diff --git a/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld index 1f1a6d15..7924458a 100644 --- a/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld +++ b/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld @@ -12,6 +12,7 @@ }, { "@id": "seq:ParameterWithDefaultName#kP", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", "S231P:isOfDataType": { diff --git a/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld index 125ac3da..1d577b43 100644 --- a/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld +++ b/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld @@ -12,6 +12,7 @@ }, { "@id": "seq:ParameterWithInfo#kP", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", "S231P:isOfDataType": { diff --git a/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld index b77fa365..50248f61 100644 --- a/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld +++ b/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld @@ -12,6 +12,7 @@ }, { "@id": "seq:ParameterWithVendorAnnotationInInfo#kP", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", "S231P:isOfDataType": { diff --git a/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld b/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld index f9279959..504d9016 100644 --- a/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld +++ b/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld @@ -52,6 +52,7 @@ }, { "@id": "seq:RemovableInputs#enaBlo", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Flag for enabling instance", "S231P:isOfDataType": { @@ -62,6 +63,7 @@ }, { "@id": "seq:RemovableInputs#have_occSen", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "True: there is occupancy sensor", "S231P:isOfDataType": { @@ -71,6 +73,7 @@ }, { "@id": "seq:RemovableInputs#have_winSen", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "True: there is window status sensor", "S231P:isOfDataType": { diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld index 7aa80c62..336fde0b 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld @@ -27,6 +27,7 @@ }, { "@id": "seq:TestEvaluation_1#k1", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Constant output value", "S231P:isOfDataType": { diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld index 16dfb2a1..ffc214fa 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld @@ -62,6 +62,7 @@ }, { "@id": "seq:TestEvaluation_2#uHigh", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "if y=false and u>uHigh, switch to y=true", "S231P:isOfDataType": { @@ -72,6 +73,7 @@ }, { "@id": "seq:TestEvaluation_2#uLow", + "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "if y=true and u\n
    \n
  • \nMarch 27, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + "simple_expression": "\"\n
    \n
  • \nMarch 12, 2024, by Michael Wetter:
    \nChanged small to 1E-37.
    \nThis is for\nissue 3695.\n
  • \n
  • \nMarch 27, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" } } } @@ -399,5 +399,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Constants.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Constants.mo", - "checksum": "d18e385511e96322440f6f561441b22c" + "checksum": "406f976a8ddc54c624ad5e5f9609abec" } \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Limiter.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Limiter.json index b42aa723..2f288f4f 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Limiter.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Limiter.json @@ -214,7 +214,7 @@ "modification": { "equal": true, "expression": { - "simple_expression": "\"\n

\nBlock that outputs y = min(uMax, max(uMin, u)),\nwhere\nu is an input\nand\nuMax and uMin are parameters.\n

\n

\nIf uMax < uMin, an error occurs and no output is produced.\n

\n\"" + "simple_expression": "\"\n

\nBlock that outputs y = min(uMax, max(uMin, u)),\nwhere\nu is an input\nand\nuMax and uMin are parameters.\n

\n

\nIf uMax < uMin, an error occurs.\n

\n\"" } } } @@ -227,7 +227,7 @@ "modification": { "equal": true, "expression": { - "simple_expression": "\"\n
    \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nJuly 17, 2017, by Michael Wetter:
    \nRemoved cyclical definition.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" + "simple_expression": "\"\n
    \n
  • \nFebruary 15, 2024, by Michael Wetter:
    \nUpdated documentation.\n
  • \n
  • \nMarch 2, 2020, by Michael Wetter:
    \nChanged icon to display dynamically the output value.\n
  • \n
  • \nJuly 17, 2017, by Michael Wetter:
    \nRemoved cyclical definition.\n
  • \n
  • \nJanuary 3, 2017, by Michael Wetter:
    \nFirst implementation, based on the implementation of the\nModelica Standard Library.\n
  • \n
\n\"" } } } @@ -557,5 +557,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Limiter.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Limiter.mo", - "checksum": "1c4e972e729ef2669cf41617559278c8" + "checksum": "bb10aab6d4e8b0a6b071b33b944f2264" } \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/BlockInputOutput.json b/test/reference/objects/test/FromModelica/BlockInputOutput.json index 0704013b..b154f9e9 100644 --- a/test/reference/objects/test/FromModelica/BlockInputOutput.json +++ b/test/reference/objects/test/FromModelica/BlockInputOutput.json @@ -88,6 +88,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo" }, @@ -150,6 +152,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo" } diff --git a/test/reference/objects/test/FromModelica/BlockWithBlock1.json b/test/reference/objects/test/FromModelica/BlockWithBlock1.json index e258e083..8bc70b5c 100644 --- a/test/reference/objects/test/FromModelica/BlockWithBlock1.json +++ b/test/reference/objects/test/FromModelica/BlockWithBlock1.json @@ -21,6 +21,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo" }, @@ -40,6 +42,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo" } diff --git a/test/reference/objects/test/FromModelica/ConditionalBlock.json b/test/reference/objects/test/FromModelica/ConditionalBlock.json index d6c72a45..7284b327 100644 --- a/test/reference/objects/test/FromModelica/ConditionalBlock.json +++ b/test/reference/objects/test/FromModelica/ConditionalBlock.json @@ -28,6 +28,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo" }, @@ -119,6 +121,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo" }, @@ -181,6 +185,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo" }, @@ -248,6 +254,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo" } diff --git a/test/reference/objects/test/FromModelica/CustomPWithLimiter.json b/test/reference/objects/test/FromModelica/CustomPWithLimiter.json index 58be7b80..a0234266 100644 --- a/test/reference/objects/test/FromModelica/CustomPWithLimiter.json +++ b/test/reference/objects/test/FromModelica/CustomPWithLimiter.json @@ -56,6 +56,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo" }, @@ -118,6 +120,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo" }, @@ -180,6 +184,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo" }, @@ -242,6 +248,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo" }, @@ -322,6 +330,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo" }, @@ -384,6 +394,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo" } diff --git a/test/reference/objects/test/FromModelica/DynamicTextColor.json b/test/reference/objects/test/FromModelica/DynamicTextColor.json index e0c83686..b23b8207 100644 --- a/test/reference/objects/test/FromModelica/DynamicTextColor.json +++ b/test/reference/objects/test/FromModelica/DynamicTextColor.json @@ -196,6 +196,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo" } diff --git a/test/reference/objects/test/FromModelica/Enable.json b/test/reference/objects/test/FromModelica/Enable.json index 8753e5a9..7abda67f 100644 --- a/test/reference/objects/test/FromModelica/Enable.json +++ b/test/reference/objects/test/FromModelica/Enable.json @@ -804,6 +804,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -951,6 +953,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -1110,6 +1114,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -1243,6 +1249,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -1376,6 +1384,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -1508,6 +1518,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -1631,6 +1643,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -1763,6 +1777,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -1886,6 +1902,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -2018,6 +2036,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -2150,6 +2170,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -2282,6 +2304,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -2414,6 +2438,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -2546,6 +2572,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -2632,6 +2660,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -2718,6 +2748,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -2850,6 +2882,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -2982,6 +3016,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -3114,6 +3150,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -3194,6 +3232,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -3256,6 +3296,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -3326,6 +3368,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -3352,6 +3396,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -3408,6 +3454,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -3434,6 +3482,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -3501,6 +3551,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -3563,6 +3615,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -3657,6 +3711,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -3756,6 +3812,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -3818,6 +3876,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -3880,6 +3940,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -3942,6 +4004,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -4004,6 +4068,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -4066,6 +4132,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -4128,6 +4196,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -4190,6 +4260,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -4252,6 +4324,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -4314,6 +4388,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -4394,6 +4470,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -4474,6 +4552,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -4536,6 +4616,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -4616,6 +4698,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -4701,6 +4785,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" }, @@ -4763,6 +4849,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo" } diff --git a/test/reference/objects/test/FromModelica/ExtendsClause_1.json b/test/reference/objects/test/FromModelica/ExtendsClause_1.json index a9e3b808..7897576f 100644 --- a/test/reference/objects/test/FromModelica/ExtendsClause_1.json +++ b/test/reference/objects/test/FromModelica/ExtendsClause_1.json @@ -136,6 +136,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo" }, @@ -156,6 +158,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo" }, @@ -182,6 +186,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo" } diff --git a/test/reference/objects/test/FromModelica/ExtendsClause_2.json b/test/reference/objects/test/FromModelica/ExtendsClause_2.json index 5214f71d..771d3580 100644 --- a/test/reference/objects/test/FromModelica/ExtendsClause_2.json +++ b/test/reference/objects/test/FromModelica/ExtendsClause_2.json @@ -136,6 +136,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo" }, @@ -156,6 +158,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo" }, @@ -182,6 +186,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo" } diff --git a/test/reference/objects/test/FromModelica/ExtendsClause_3.json b/test/reference/objects/test/FromModelica/ExtendsClause_3.json index 523c9f7d..5353a887 100644 --- a/test/reference/objects/test/FromModelica/ExtendsClause_3.json +++ b/test/reference/objects/test/FromModelica/ExtendsClause_3.json @@ -136,6 +136,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo" }, @@ -156,6 +158,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo" }, @@ -182,6 +186,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo" } diff --git a/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json b/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json index a16d20f4..ee50efcd 100644 --- a/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json +++ b/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json @@ -72,6 +72,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo" } diff --git a/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json b/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json index bb07ed1b..f0087e1b 100644 --- a/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json +++ b/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json @@ -28,6 +28,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo" }, @@ -114,6 +116,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo" }, @@ -176,6 +180,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo" }, @@ -238,6 +244,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo" }, @@ -318,6 +326,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo" } diff --git a/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json b/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json index edfc8e1a..af4909cf 100644 --- a/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json +++ b/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json @@ -79,6 +79,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo" } diff --git a/test/reference/objects/test/FromModelica/MyController.json b/test/reference/objects/test/FromModelica/MyController.json index 3a258f3b..60b8362b 100644 --- a/test/reference/objects/test/FromModelica/MyController.json +++ b/test/reference/objects/test/FromModelica/MyController.json @@ -392,6 +392,8 @@ "enable": "true" } }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo" }, @@ -630,6 +632,8 @@ "enable": "true" } }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo" }, @@ -868,6 +872,8 @@ "enable": "true" } }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo" }, @@ -930,6 +936,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo" }, @@ -1042,6 +1050,8 @@ "cdl_annotations": { "generatePointlist": "true" }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo" }, @@ -1104,6 +1114,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo" } diff --git a/test/reference/objects/test/FromModelica/MyControllerWithExportAnnotation1.json b/test/reference/objects/test/FromModelica/MyControllerWithExportAnnotation1.json index b5192bb4..cc74eea4 100644 --- a/test/reference/objects/test/FromModelica/MyControllerWithExportAnnotation1.json +++ b/test/reference/objects/test/FromModelica/MyControllerWithExportAnnotation1.json @@ -476,6 +476,8 @@ "enable": "true" } }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo" }, @@ -714,6 +716,8 @@ "enable": "true" } }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo" }, @@ -952,6 +956,8 @@ "enable": "true" } }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo" }, @@ -1014,6 +1020,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo" }, @@ -1153,6 +1161,8 @@ "generatePointlist": "true", "export": "true" }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo" }, @@ -1215,6 +1225,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo" } diff --git a/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json b/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json index 57c97444..8cf45e5c 100644 --- a/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json +++ b/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json @@ -507,6 +507,8 @@ "naturalLanguage": "\"en\"" } }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo" }, @@ -800,6 +802,8 @@ "naturalLanguage": "\"en\"" } }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo" }, @@ -1038,6 +1042,8 @@ "enable": "true" } }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo" }, @@ -1100,6 +1106,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo" }, @@ -1297,6 +1305,8 @@ "naturalLanguage": "\"en\"" } }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo" }, @@ -1359,6 +1369,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo" } diff --git a/test/reference/objects/test/FromModelica/NoClassComment.json b/test/reference/objects/test/FromModelica/NoClassComment.json index d95c913a..4b097037 100644 --- a/test/reference/objects/test/FromModelica/NoClassComment.json +++ b/test/reference/objects/test/FromModelica/NoClassComment.json @@ -28,6 +28,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo" } diff --git a/test/reference/objects/test/FromModelica/NoWithin.json b/test/reference/objects/test/FromModelica/NoWithin.json index a12c4456..c27992c1 100644 --- a/test/reference/objects/test/FromModelica/NoWithin.json +++ b/test/reference/objects/test/FromModelica/NoWithin.json @@ -28,6 +28,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": null, "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo" } diff --git a/test/reference/objects/test/FromModelica/Parameter1.json b/test/reference/objects/test/FromModelica/Parameter1.json index e21a3d2c..aee07505 100644 --- a/test/reference/objects/test/FromModelica/Parameter1.json +++ b/test/reference/objects/test/FromModelica/Parameter1.json @@ -28,6 +28,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo" } diff --git a/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json b/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json index 7bcd1979..4e9f8367 100644 --- a/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json +++ b/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json @@ -135,6 +135,8 @@ "brick": "\"xxxxx\"", "point": "digital" }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo" } diff --git a/test/reference/objects/test/FromModelica/Parameter2.json b/test/reference/objects/test/FromModelica/Parameter2.json index becdf068..e8cdc569 100644 --- a/test/reference/objects/test/FromModelica/Parameter2.json +++ b/test/reference/objects/test/FromModelica/Parameter2.json @@ -28,6 +28,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo" }, @@ -48,6 +50,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo" }, @@ -85,6 +89,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo" }, @@ -122,6 +128,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo" }, @@ -159,6 +167,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo" }, @@ -230,6 +240,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo" }, @@ -301,6 +313,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo" }, @@ -398,6 +412,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo" }, @@ -495,6 +511,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo" } diff --git a/test/reference/objects/test/FromModelica/Parameter3.json b/test/reference/objects/test/FromModelica/Parameter3.json index ad440f27..c5c6c83d 100644 --- a/test/reference/objects/test/FromModelica/Parameter3.json +++ b/test/reference/objects/test/FromModelica/Parameter3.json @@ -28,6 +28,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo" }, @@ -48,6 +50,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo" } diff --git a/test/reference/objects/test/FromModelica/ParameterWithAttributes.json b/test/reference/objects/test/FromModelica/ParameterWithAttributes.json index c33be3df..bc5d532a 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithAttributes.json +++ b/test/reference/objects/test/FromModelica/ParameterWithAttributes.json @@ -162,6 +162,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo" } diff --git a/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json b/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json index da7989a0..329701d8 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json +++ b/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json @@ -69,6 +69,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo" } diff --git a/test/reference/objects/test/FromModelica/ParameterWithInfo.json b/test/reference/objects/test/FromModelica/ParameterWithInfo.json index 8a8e57e3..a51e3741 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithInfo.json +++ b/test/reference/objects/test/FromModelica/ParameterWithInfo.json @@ -56,6 +56,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo" } diff --git a/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json b/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json index ecec1e73..769f584e 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json +++ b/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json @@ -110,6 +110,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo" } diff --git a/test/reference/objects/test/FromModelica/PointList.json b/test/reference/objects/test/FromModelica/PointList.json index 366af797..6138ab83 100644 --- a/test/reference/objects/test/FromModelica/PointList.json +++ b/test/reference/objects/test/FromModelica/PointList.json @@ -392,6 +392,8 @@ "enable": "true" } }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo" }, @@ -630,6 +632,8 @@ "enable": "true" } }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo" }, @@ -868,6 +872,8 @@ "enable": "true" } }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo" }, @@ -1106,6 +1112,8 @@ "enable": "true" } }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo" }, @@ -1529,6 +1537,8 @@ } ] }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo" }, @@ -1641,6 +1651,8 @@ "cdl_annotations": { "generatePointlist": "true" }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo" } diff --git a/test/reference/objects/test/FromModelica/RemovableInputs.json b/test/reference/objects/test/FromModelica/RemovableInputs.json index 0de4b9b2..5aab58ed 100644 --- a/test/reference/objects/test/FromModelica/RemovableInputs.json +++ b/test/reference/objects/test/FromModelica/RemovableInputs.json @@ -28,6 +28,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" }, @@ -48,6 +50,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" }, @@ -68,6 +72,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" }, @@ -159,6 +165,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" }, @@ -280,6 +288,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" }, @@ -451,6 +461,8 @@ "cdl_annotations": { "default": "300.15" }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" }, @@ -542,6 +554,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" }, @@ -633,6 +647,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" }, @@ -695,6 +711,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" }, @@ -762,6 +780,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo" } diff --git a/test/reference/objects/test/FromModelica/SubController.json b/test/reference/objects/test/FromModelica/SubController.json index 726a6a18..fe23f1b8 100644 --- a/test/reference/objects/test/FromModelica/SubController.json +++ b/test/reference/objects/test/FromModelica/SubController.json @@ -392,6 +392,8 @@ "enable": "true" } }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo" }, @@ -630,6 +632,8 @@ "enable": "true" } }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo" } diff --git a/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json b/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json index 4b1150a0..b5a2cf3b 100644 --- a/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json +++ b/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json @@ -431,6 +431,8 @@ "enable": "true" } }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo" }, @@ -669,6 +671,8 @@ "enable": "true" } }, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo" } diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_1.json b/test/reference/objects/test/FromModelica/TestEvaluation_1.json index 8aee5abd..6e542022 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_1.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_1.json @@ -107,6 +107,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo" }, @@ -186,6 +188,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo" } diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_2.json b/test/reference/objects/test/FromModelica/TestEvaluation_2.json index 752d9f48..2acf174f 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_2.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_2.json @@ -122,6 +122,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo" }, @@ -148,6 +150,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo" }, @@ -234,6 +238,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo" }, @@ -320,6 +326,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo" }, @@ -412,6 +420,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo" } diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_3.json b/test/reference/objects/test/FromModelica/TestEvaluation_3.json index 50189037..8867cd37 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_3.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_3.json @@ -72,6 +72,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo" }, @@ -95,6 +97,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo" }, @@ -179,6 +183,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo" }, @@ -258,6 +264,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo" } diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_4.json b/test/reference/objects/test/FromModelica/TestEvaluation_4.json index c3ffea75..d144c7af 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_4.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_4.json @@ -72,6 +72,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo" }, @@ -98,6 +100,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo" }, @@ -124,6 +128,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo" }, @@ -210,6 +216,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo" }, @@ -296,6 +304,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo" }, @@ -382,6 +392,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo" }, @@ -468,6 +480,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo" }, @@ -554,6 +568,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo" }, @@ -659,6 +675,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo" } diff --git a/test/reference/objects/test/FromModelica/VariableModification.json b/test/reference/objects/test/FromModelica/VariableModification.json index 293afa1e..7d188658 100644 --- a/test/reference/objects/test/FromModelica/VariableModification.json +++ b/test/reference/objects/test/FromModelica/VariableModification.json @@ -88,6 +88,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo" }, @@ -205,6 +207,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo" }, @@ -346,6 +350,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo" } diff --git a/test/reference/objects/test/FromModelica/WithCDLElementary.json b/test/reference/objects/test/FromModelica/WithCDLElementary.json index b1be85cf..fe5e1e9d 100644 --- a/test/reference/objects/test/FromModelica/WithCDLElementary.json +++ b/test/reference/objects/test/FromModelica/WithCDLElementary.json @@ -108,6 +108,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo" }, @@ -194,6 +196,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo" }, @@ -280,6 +284,8 @@ ], "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo" } diff --git a/test/reference/objects/test/FromModelica/package.json b/test/reference/objects/test/FromModelica/package.json index 48bae47e..f91bd015 100644 --- a/test/reference/objects/test/FromModelica/package.json +++ b/test/reference/objects/test/FromModelica/package.json @@ -28,6 +28,8 @@ "annotation": null, "semantics": {}, "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", "within": null, "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo" } From 9991e70a8c8ca8e8a4df6bc348d86ab4fcbc117e Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Tue, 19 Mar 2024 17:28:46 -0700 Subject: [PATCH 17/25] adding incorporating if expressions into cxf --- README.md | 3 ++ app.js | 14 ++++---- lib/cxfExtractor.js | 66 +++++++++++++++++++---------------- lib/parser.js | 5 ++- lib/s231ClassesProperties.ttl | 12 +++---- 5 files changed, 56 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index bcbfb319..c2e0f9ff 100644 --- a/README.md +++ b/README.md @@ -114,6 +114,9 @@ Specify the output directory. The default option is the current directory. If `-p` flag is specified, the JSON output conforms to prettyprint. The default option is `false`. +##### --elementary + +If `--elementary` flag is specified, the CXF (jsonld) files for the elementary blocks are also generated. Else, they are ignored. The default option is `false`. ## 4. JSON Schemas diff --git a/app.js b/app.js index 84a1624b..5aefadc2 100644 --- a/app.js +++ b/app.js @@ -64,9 +64,9 @@ parser.addArgument( parser.addArgument( - ['--cxfCore'], + ['--elementary'], { - help: 'If this flag is present, generate CXF-core.jsonld file. --file should point to Buildings/Controls/OBC/CDL package and --o should be cxf', + help: 'If this flag is present, generate CXF of elementary blocks. -o/--output should be cxf', action: 'storeTrue' } ) @@ -102,11 +102,11 @@ if (args.output === 'modelica') { pa.convertToModelica(args.file, args.directory, false) } else { // Get mo files array - // if (args.cxfCore) { - // if (!args.file.endsWith("CDL") || !args.output === "cxf") { - // throw new Error("In order to generate CXF-core.jsonld, the -f/--file should point to the CDL package (e.g.: Buildings.Controls.OBC.CDL) and -o/--output should be cxf") - // } - // } + if (args.elementary) { + if (!args.output === 'cxf') { + throw new Error('In order to generate CXF (jsonld) of elementary blocks, -o/--output should be cxf') + } + } const completedJsonGeneration = new Promise( function (resolve, reject) { const moFiles = ut.getMoFiles(args.file) diff --git a/lib/cxfExtractor.js b/lib/cxfExtractor.js index 0074d2fb..797443dd 100644 --- a/lib/cxfExtractor.js +++ b/lib/cxfExtractor.js @@ -269,41 +269,47 @@ function addAttributesToNode (graph, s231Ns, cxfPrefix, className, key, modDict, function parseModification (mod, instance, attributeList, typeSpecifier = '') { let res = {} if ('equal' in mod && mod.equal) { - let value = mod.expression.simple_expression - if (typeof value === 'string') { - if (isNaN(Number(value))) { - value = value.replace(/"/g, '') - value = value.replace(/'/g, '') - if (value === 'true') { - res.value = true - } else if (value === 'false') { - res.value = false + if ('simple_expression' in mod.expression) { + let value = mod.expression.simple_expression + if (typeof value === 'string') { + if (isNaN(Number(value))) { + value = value.replace(/"/g, '') + value = value.replace(/'/g, '') + if (value === 'true') { + res.value = true + } else if (value === 'false') { + res.value = false + } else { + res.value = value + } } else { - res.value = value + res.value = Number(value) } } else { - res.value = Number(value) - } - } else { - if ('function_call' in value) { - res.value = value.function_call.name + '(' - value.function_call.arguments.forEach(arg => { - if ('name' in arg) { - if (!res.value.endsWith('(')) { - res.value += ', ' - } - res.value += arg.name - } else if ('expression' in arg) { - if ('simple_expression' in arg.expression) { - res.value += arg.expression.simple_expression + if ('function_call' in value) { + res.value = value.function_call.name + '(' + value.function_call.arguments.forEach(arg => { + if ('name' in arg) { + if (!res.value.endsWith('(')) { + res.value += ', ' + } + res.value += arg.name + } else if ('expression' in arg) { + if ('simple_expression' in arg.expression) { + res.value += arg.expression.simple_expression + } + } else if ('for_loop' in arg) { + const forLoop = arg.for_loop + res.value += parseForLoop(forLoop) } - } else if ('for_loop' in arg) { - const forLoop = arg.for_loop - res.value += parseForLoop(forLoop) - } - }) - res.value += ')' + }) + res.value += ')' + } } + } else if ('if_expression' in mod.expression) { + // TODO: handle + console.log('if expressions not well handled right now') + res.value = JSON.stringify(mod.expression.if_expression) } } let res2 diff --git a/lib/parser.js b/lib/parser.js index 14a4a626..e9653191 100644 --- a/lib/parser.js +++ b/lib/parser.js @@ -83,13 +83,16 @@ function getRawJson (moFile, outputFormat) { * @param generateCxfCore Flag to indicate whether or not to generate CXF-core.jsonld */ function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPrint, outputFormat, generateCxfCore) { - const outputFileName = ut.getOutputFile(moFile, 'json', outDir) + let outputFileName = ut.getOutputFile(moFile, 'json', outDir) // find the modelica file checksum const moChecksum = ut.getMoChecksum(moFile) // check if the file should be parsed const needParsed = ut.checkIfParse(outputFileName, moChecksum, moFile) // if the moFile has been parsed and the original moFile has no change if (!needParsed || parsedFile.includes(moFile)) { + if (parsedFile.includes(moFile)) { + outputFileName = path.join(tempDir, outputFileName.split(outDir)[1]) + } if (outputFormat === 'semantic' || outputFormat === 'cxf') { const jsonOp = JSON.parse(fs.readFileSync(outputFileName, 'utf8')) generateAllObjectsJson(jsonOp, moFile, tempDir, prettyPrint) diff --git a/lib/s231ClassesProperties.ttl b/lib/s231ClassesProperties.ttl index 67632879..2d6d3170 100644 --- a/lib/s231ClassesProperties.ttl +++ b/lib/s231ClassesProperties.ttl @@ -116,12 +116,12 @@ S231P:InputConnector sh:datatype xsd:decimal ; ] ; sh:property [ - sh:path S231P:unit ; + sh:path S231P:hasUnit ; rdfs:comment "The unit of the input connector used for controls and calculations" ; sh:class qudt:Unit ; ] ; sh:property [ - sh:path S231P:displayUnit ; + sh:path S231P:hasDisplayUnit ; rdfs:comment "The unit of the input connector used for display and graphics" ; sh:class qudt:Unit ; ] ; @@ -215,12 +215,12 @@ S231P:OutputConnector sh:datatype xsd:decimal ; ] ; sh:property [ - sh:path S231P:unit ; + sh:path S231P:hasUnit ; rdfs:comment "The unit of the output connector used for controls and calculations" ; sh:class qudt:Unit ; ] ; sh:property [ - sh:path S231P:displayUnit ; + sh:path S231P:hasDisplayUnit ; rdfs:comment "The unit of the output connector used for display and graphics" ; sh:class qudt:Unit ; ] ; @@ -321,12 +321,12 @@ S231P:Parameter sh:datatype xsd:decimal ; ] ; sh:property [ - sh:path S231P:unit ; + sh:path S231P:hasUnit ; rdfs:comment "The unit of the parameter used for controls and calculations" ; sh:class qudt:Unit ; ] ; sh:property [ - sh:path S231P:displayUnit ; + sh:path S231P:hasDisplayUnit ; rdfs:comment "The unit of the parameter used for display and graphics" ; sh:class qudt:Unit ; ] ; From 46b2c65655a096cc5c41a07a640df60c5b9b952a Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Tue, 26 Mar 2024 06:11:04 -0700 Subject: [PATCH 18/25] adding code to handle vectors --- lib/cxfExtractor.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/cxfExtractor.js b/lib/cxfExtractor.js index 797443dd..27376d8b 100644 --- a/lib/cxfExtractor.js +++ b/lib/cxfExtractor.js @@ -201,7 +201,9 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore const toElements = connections[fromElement] toElements.forEach(toElement => { + console.log(toElement) const toNode = getInstanceNode(toElement, newInstances, s231Ns, cxfPrefix) + console.log(toNode) if (fromNode !== null && toNode !== null) { graph.add(fromNode, s231Ns('isConnectedTo'), toNode) } @@ -221,6 +223,15 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore function getInstanceNode (element, newInstances, s231Ns, cxfPrefix) { let node = null + // TODO: uncomment to translate flatten vectors [] to _ + // while (element.includes('[')) { + // let startIdx = element.indexOf('[') + // let endIdx = element.indexOf(']') + // let arraySubscript = element.slice(startIdx+1, endIdx) + // element = element.slice(0, startIdx) + '_' + arraySubscript + element.slice(endIdx+1) + // } + + if (element.split('.').length > 1) { let instance = element.split('.').slice(0, 1)[0] while (!(instance in newInstances)) { From 3f441175385e9b0d4833151aa6a711e1f9bd6234 Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Thu, 9 May 2024 09:56:43 -0700 Subject: [PATCH 19/25] handle parsing of elementary blocks --- README.md | 8 +- app.js | 25 +- lib/cxfExtractor.js | 161 ++-- lib/parser.js | 42 +- .../cxf/test/FromModelica/Block1.jsonld | 2 +- .../test/FromModelica/BlockInputOutput.jsonld | 10 +- .../test/FromModelica/BlockWithBlock1.jsonld | 17 +- .../test/FromModelica/ConditionalBlock.jsonld | 18 +- .../FromModelica/CustomPWithLimiter.jsonld | 78 +- .../test/FromModelica/DynamicTextColor.jsonld | 6 +- .../test/FromModelica/EmptyEquation.jsonld | 2 +- .../cxf/test/FromModelica/Enable.jsonld | 820 +++++++++++------- .../MisplacedInfoWithComponent.jsonld | 11 +- .../MisplacedInfoWithEquation.jsonld | 49 +- .../MisplacedInfoWithParameter.jsonld | 6 +- .../cxf/test/FromModelica/MyController.jsonld | 70 +- .../MyControllerWithExportAnnotation1.jsonld | 70 +- .../MyControllerWithSemantics.jsonld | 70 +- .../test/FromModelica/NoClassComment.jsonld | 6 +- .../cxf/test/FromModelica/NoWithin.jsonld | 12 +- .../cxf/test/FromModelica/Parameter1.jsonld | 6 +- .../Parameter1WithVendorAnnotation.jsonld | 6 +- .../cxf/test/FromModelica/Parameter2.jsonld | 40 +- .../cxf/test/FromModelica/Parameter3.jsonld | 10 +- .../ParameterWithAttributes.jsonld | 15 +- .../ParameterWithDefaultName.jsonld | 6 +- .../FromModelica/ParameterWithInfo.jsonld | 6 +- ...ParameterWithVendorAnnotationInInfo.jsonld | 6 +- .../cxf/test/FromModelica/PointList.jsonld | 87 +- .../test/FromModelica/RemovableInputs.jsonld | 50 +- .../test/FromModelica/SubController.jsonld | 10 +- .../SubControllerWithSemantics.jsonld | 10 +- .../test/FromModelica/TestEvaluation_1.jsonld | 17 +- .../test/FromModelica/TestEvaluation_2.jsonld | 64 +- .../test/FromModelica/TestEvaluation_3.jsonld | 32 +- .../test/FromModelica/TestEvaluation_4.jsonld | 132 +-- .../FromModelica/VariableModification.jsonld | 41 +- .../FromModelica/WithCDLElementary.jsonld | 14 +- .../cxf/test/FromModelica/package.jsonld | 12 +- 39 files changed, 1253 insertions(+), 794 deletions(-) diff --git a/README.md b/README.md index c2e0f9ff..0a698b23 100644 --- a/README.md +++ b/README.md @@ -116,7 +116,13 @@ If `-p` flag is specified, the JSON output conforms to prettyprint. The default ##### --elementary -If `--elementary` flag is specified, the CXF (jsonld) files for the elementary blocks are also generated. Else, they are ignored. The default option is `false`. +If `--elementary` flag is specified, the CXF (jsonld) files for the elementary blocks are also generated. Else, they are ignored. The default option is `false`. +`-o`/`--output` should be `cxf`. + +##### --cxfCore + +If `--cxfCore` flag is specified, generate the CXF-core.jsonld files for all the elementary blocks. The default option is `false`. +`-o`/`--output` should be `cxf`, `-f`/`--file` should be `path/to/CDL` and `--elementary` flag must be used. ## 4. JSON Schemas diff --git a/app.js b/app.js index 5aefadc2..11717aff 100644 --- a/app.js +++ b/app.js @@ -66,7 +66,16 @@ parser.addArgument( ['--elementary'], { - help: 'If this flag is present, generate CXF of elementary blocks. -o/--output should be cxf', + help: 'If this flag is present, generate CXF of elementary blocks in addition to composite blocks. -o/--output should be cxf.', + action: 'storeTrue' + } +) + +parser.addArgument( + + ['--cxfCore'], + { + help: 'If this flag is present, generate CXF-core.jsonld. -o/--output should be cxf, -f/--file should be path/to/CDL and --elementary flag must be used.', action: 'storeTrue' } ) @@ -102,16 +111,24 @@ if (args.output === 'modelica') { pa.convertToModelica(args.file, args.directory, false) } else { // Get mo files array - if (args.elementary) { + if (args.elementary || args.cxfCore) { if (!args.output === 'cxf') { - throw new Error('In order to generate CXF (jsonld) of elementary blocks, -o/--output should be cxf') + throw new Error('In order to generate CXF (jsonld) of elementary blocks, -o/--output should be cxf.') + } + } + if (args.cxfCore) { + if (!args.file.endsWith('CDL') && !args.file.endsWith('cdl')) { + throw new Error('In order to generate CXF-core.jsonld containing all elementary blocks, -f/--file should be path/to/CDL.') + } + if (!args.elementary) { + throw new Error('In order to generate CXF-core.jsonld containing all elementary blocks, --elementary flag must be used.') } } const completedJsonGeneration = new Promise( function (resolve, reject) { const moFiles = ut.getMoFiles(args.file) // Parse the json representation for moFiles - pa.getJsons(moFiles, args.mode, args.output, args.directory, args.prettyPrint, args.cxfCore) + pa.getJsons(moFiles, args.mode, args.output, args.directory, args.prettyPrint, args.elementary, args.cxfCore) resolve(0) } ) diff --git a/lib/cxfExtractor.js b/lib/cxfExtractor.js index 27376d8b..7f7ef099 100644 --- a/lib/cxfExtractor.js +++ b/lib/cxfExtractor.js @@ -1,10 +1,7 @@ const rdflib = require('rdflib') -function checkIfCdlElementaryBlock (name, newInstances) { - if (name in newInstances) { - return newInstances[name].isElementaryBlock - } - if (name !== undefined && name !== null && name.length > 0 && name.split('.').slice(-2, -1)[0] !== undefined && name.split('.').slice(-2, -1)[0].toUpperCase() === 'CDL') { +function checkIfCdlElementaryBlock (name) { + if (name !== undefined && name !== null && name.length > 0 && (name.split('.').includes('CDL') || (name.split('.').includes('cdl')))) { return true } return false @@ -18,7 +15,7 @@ function checkValidCdl (instances, requiredReferences) { return true } -function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore = false) { +function getCxfGraph (instances, requiredReferences, blockName, generateElementary, generateCxfCore) { let instancesList = [] if (instances !== null || instances.length > 0) { @@ -30,21 +27,29 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore } const graph = rdflib.graph() - const cxfPrefix = rdflib.Namespace('seq:') + // TODO: what is prefix + const cxfPrefix = rdflib.Namespace('http://example.org#') const s231Ns = rdflib.Namespace('https://data.ashrae.org/S231P#') const rdfNs = rdflib.Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#') const uri = blockName + '.jsonld' const newInstances = {} + let isElementaryBlock = false instancesList.forEach(instance => { const instanceDict = instances[instance] const newInstanceDict = {} - let isElementaryBlock = false - // Object.assign(newInstanceDict, instances[instance]); + let instanceType = null - const within = instanceDict.within + let within = instanceDict.within + let blockNameWithPackage + if (within === undefined || within === null) { + within = '' + blockNameWithPackage = blockName + } else { + blockNameWithPackage = within + '.' + blockName + } if (instanceDict === null) { // TODO: handle later @@ -53,51 +58,38 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore if (instanceType === 'long_class_specifier') { // check if CDL elementary block // TODO: check if we should include package name within sequence - if (checkIfCdlElementaryBlock(within, newInstances)) { + if (checkIfCdlElementaryBlock(within)) { isElementaryBlock = true - if (generateCxfCore) { - // TODO: handle cxf-core - graph.add(s231Ns(blockName), rdfNs('type'), s231Ns('ElementaryBlock')) - newInstanceDict.cxfNode = s231Ns(blockName) - newInstanceDict.isElementaryBlock = true - newInstanceDict.generateCxfCore = true + if (generateCxfCore || generateElementary) { + graph.add(s231Ns(blockNameWithPackage), rdfNs('type'), s231Ns('ElementaryBlock')) + newInstanceDict.cxfNode = s231Ns(blockNameWithPackage) } else { - newInstanceDict.cxfNode = s231Ns(blockName) - newInstanceDict.isElementaryBlock = true - newInstanceDict.generateCxfCore = false + newInstanceDict.cxfNode = s231Ns(blockNameWithPackage) } } else { // TODO: how to separate composite block v/s extension block - graph.add(cxfPrefix(blockName), rdfNs('type'), s231Ns('Block')) - newInstanceDict.cxfNode = cxfPrefix(blockName) - newInstanceDict.isElementaryBlock = false - newInstanceDict.generateCxfCore = false + graph.add(cxfPrefix(blockNameWithPackage), rdfNs('type'), s231Ns('Block')) + newInstanceDict.cxfNode = cxfPrefix(blockNameWithPackage) } } else if (instanceType === 'element') { - const className = instanceDict.long_class_specifier_identifier === undefined ? blockName : instanceDict.long_class_specifier_identifier let instanceNode let prefix - if (checkIfCdlElementaryBlock(className, newInstances)) { - instanceNode = s231Ns(`${className}#${instance}`) - isElementaryBlock = true - newInstanceDict.isElementaryBlock = isElementaryBlock - newInstanceDict.generateCxfCore = generateCxfCore + const instanceAccessSpecifier = instanceDict.compositionSpecifier + if (isElementaryBlock) { + instanceNode = s231Ns(`${blockNameWithPackage}.${instance}`) prefix = 's231' - newInstanceDict.prefix = prefix } else { - instanceNode = cxfPrefix(`${className}#${instance}`) - newInstanceDict.isElementaryBlock = false - newInstanceDict.generateCxfCore = generateCxfCore + instanceNode = cxfPrefix(`${blockNameWithPackage}.${instance}`) prefix = 'seq' - newInstanceDict.prefix = prefix } + newInstanceDict.prefix = prefix - if ((isElementaryBlock && generateCxfCore) || !isElementaryBlock) { + if ((isElementaryBlock && generateElementary && instanceAccessSpecifier === 'public') || (isElementaryBlock && generateCxfCore && instanceAccessSpecifier === 'public') || !isElementaryBlock) { let blockNode if (prefix === 's231') { - blockNode = s231Ns(`${className}`) + blockNode = s231Ns(`${blockNameWithPackage}`) } else { - blockNode = cxfPrefix(`${className}`) + blockNode = cxfPrefix(`${blockNameWithPackage}`) } const typeSpecifier = instanceDict.type_specifier // TODO: handle vectors & array subscript expression @@ -155,15 +147,18 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore const modDict = parseModification(mod, instance, attributeList, typeSpecifier) Object.keys(modDict).forEach(key => { if (attributeList.includes(key)) { - addAttributesToNode(graph, s231Ns, cxfPrefix, className, key, modDict, instanceNode) + addAttributesToNode(graph, s231Ns, key, modDict, instanceNode) } else { if (key.includes('.')) { Object.keys(modDict[key]).forEach(key2 => { + let subInstanceNode if (prefix === 's231') { - addAttributesToNode(graph, s231Ns, cxfPrefix, className, key2, Object.assign({}, modDict[key]), s231Ns(`${className}#${key}`)) + subInstanceNode = s231Ns(`${blockNameWithPackage}.${key}`) } else { - addAttributesToNode(graph, s231Ns, cxfPrefix, className, key2, Object.assign({}, modDict[key]), cxfPrefix(`${className}#${key}`)) + subInstanceNode = cxfPrefix(`${blockNameWithPackage}.${key}`) } + addAttributesToNode(graph, s231Ns, key2, Object.assign({}, modDict[key]), subInstanceNode) + graph.add(instanceNode, s231Ns('hasInstance'), subInstanceNode) }) } } @@ -194,21 +189,20 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore newInstances[instance] = newInstanceDict }) - const connections = requiredReferences.connections - if (connections !== undefined && connections !== null) { - Object.keys(connections).forEach(fromElement => { - const fromNode = getInstanceNode(fromElement, newInstances, s231Ns, cxfPrefix) - - const toElements = connections[fromElement] - toElements.forEach(toElement => { - console.log(toElement) - const toNode = getInstanceNode(toElement, newInstances, s231Ns, cxfPrefix) - console.log(toNode) - if (fromNode !== null && toNode !== null) { - graph.add(fromNode, s231Ns('isConnectedTo'), toNode) - } + if (!isElementaryBlock) { + const connections = requiredReferences.connections + if (connections !== undefined && connections !== null) { + Object.keys(connections).forEach(fromElement => { + const fromNode = getInstanceNode(graph, fromElement, newInstances, s231Ns, cxfPrefix) + const toElements = connections[fromElement] + toElements.forEach(toElement => { + const toNode = getInstanceNode(graph, toElement, newInstances, s231Ns, cxfPrefix) + if (fromNode !== null && toNode !== null) { + graph.add(fromNode, s231Ns('isConnectedTo'), toNode) + } + }) }) - }) + } } let cxfJson = null @@ -221,7 +215,7 @@ function getCxfGraph (instances, requiredReferences, blockName, generateCxfCore return cxfJson } -function getInstanceNode (element, newInstances, s231Ns, cxfPrefix) { +function getInstanceNode (graph, element, newInstances, s231Ns, cxfPrefix) { let node = null // TODO: uncomment to translate flatten vectors [] to _ // while (element.includes('[')) { @@ -231,30 +225,41 @@ function getInstanceNode (element, newInstances, s231Ns, cxfPrefix) { // element = element.slice(0, startIdx) + '_' + arraySubscript + element.slice(endIdx+1) // } - - if (element.split('.').length > 1) { - let instance = element.split('.').slice(0, 1)[0] - while (!(instance in newInstances)) { - instance = instance.split('.').slice(0, 1)[0] + if (element.includes('.')) { + let instance = element + let subInstance + // TODO: handle vector connections + + while (!(instance in newInstances) && instance.includes('.')) { + subInstance = instance.split('.').slice(-1)[0] + instance = instance.split('.').slice(0, -1)[0] } if (instance in newInstances) { const instanceNode = newInstances[instance].cxfNode - const className = instanceNode.value.split('#')[0].split(':').slice(-1)[0] + const instancePackage = instanceNode.value.split('.').slice(0, -1).join('.') const prefix = instanceNode.prefix if (prefix === 's231') { - node = s231Ns(`${className}#${element}`) + node = s231Ns(`${instancePackage}.${instance}.${subInstance}`) } else { - node = cxfPrefix(`${className}#${element}`) + node = cxfPrefix(`${instancePackage}.${instance}.${subInstance}`) } + graph.add(instanceNode, s231Ns('hasInstance'), node) + } else { + throw new Error(`Cannot find instance ${element}. Please check your code and instance names used in connect statements.`) } - } else { + } else if (element in newInstances) { node = newInstances[element].cxfNode + } else { + throw new Error(`Cannot find instance ${element}. Please check your code and instance names used in connect statements.`) } return node } -function addAttributesToNode (graph, s231Ns, cxfPrefix, className, key, modDict, instanceNode) { +function addAttributesToNode (graph, s231Ns, key, modDict, instanceNode) { const qudt = rdflib.Namespace('http://qudt.org/schema/qudt#') + const unit = rdflib.Namespace('http://qudt.org/vocab/unit#') + const qudtqk = rdflib.Namespace('http://qudt.org/vocab/quantitykind#') + if (key === 'value') { graph.add(instanceNode, s231Ns('value'), modDict.value) } else { @@ -266,13 +271,13 @@ function addAttributesToNode (graph, s231Ns, cxfPrefix, className, key, modDict, graph.add(instanceNode, s231Ns(key), value) } else if (key === 'unit') { // TODO: check qudt class name - graph.add(instanceNode, qudt('hasUnit'), qudt(value)) + graph.add(instanceNode, qudt('hasUnit'), getQudtUnit(value, unit, s231Ns)) } else if (key === 'displayUnit') { // TODO: check qudt class name - graph.add(instanceNode, qudt('hasDisplayUnit'), qudt(value)) + graph.add(instanceNode, qudt('hasDisplayUnit'), getQudtUnit(value, unit, s231Ns)) } else if (key === 'quantity') { // TODO: check qudt class name - graph.add(instanceNode, qudt('hasQuantityKind'), qudt(value)) + graph.add(instanceNode, qudt('hasQuantityKind'), getQudtQuanityKind(value, qudtqk, s231Ns)) } } } @@ -363,4 +368,22 @@ function parseForLoop (forLoop) { } } +function getQudtUnit (value, unitNs, s231Ns) { + // TODO: finish this + if (value === 'degK') { + return unitNs('K') + } else if (value === 'degC') { + return unitNs('DEG_C') + } else if (value === 'degF') { + return unitNs('DEG_F') + } else { + return s231Ns(value) + } +} + +function getQudtQuanityKind (value, qudtQkNs, s231Ns) { + // TODO: finish this + return s231Ns(value) +} + module.exports.getCxfGraph = getCxfGraph diff --git a/lib/parser.js b/lib/parser.js index e9653191..605fb80a 100644 --- a/lib/parser.js +++ b/lib/parser.js @@ -21,7 +21,7 @@ const storedDefiniton = require('../json2mo/storedDefiniton') * @param generateCxfCore Flag to indicate whether or not to generate CXF-core.jsonld * @return parsed json data array */ -function getJsons (moFiles, parseMode, outputFormat, directory, prettyPrint, generateCxfCore) { +function getJsons (moFiles, parseMode, outputFormat, directory, prettyPrint, generateElementary = false, generateCxfCore = false) { logger.debug('Entered parser.getJsons.') const jsonData = [] let outDir = directory @@ -47,8 +47,10 @@ function getJsons (moFiles, parseMode, outputFormat, directory, prettyPrint, gen const tempJsonDir = ut.createTempDir('json') const parsedFile = [] for (let i = 0; i < moFiles.length; i++) { - const fileList = getSimpleJson(moFiles[i], parseMode, tempJsonDir, parsedFile, outDir, prettyPrint, outputFormat, generateCxfCore) - parsedFile.push(fileList) + if ((generateCxfCore && !moFiles[i].split(path.sep).includes('Validation')) || !generateCxfCore) { + const fileList = getSimpleJson(moFiles[i], parseMode, tempJsonDir, parsedFile, outDir, prettyPrint, outputFormat, generateElementary, generateCxfCore) + parsedFile.push(fileList) + } } ut.copyFolderSync(tempJsonDir, outDir) ut.removeDir(tempJsonDir) @@ -82,7 +84,7 @@ function getRawJson (moFile, outputFormat) { * @param outputFormat output format * @param generateCxfCore Flag to indicate whether or not to generate CXF-core.jsonld */ -function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPrint, outputFormat, generateCxfCore) { +function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPrint, outputFormat, generateElementary, generateCxfCore) { let outputFileName = ut.getOutputFile(moFile, 'json', outDir) // find the modelica file checksum const moChecksum = ut.getMoChecksum(moFile) @@ -93,14 +95,13 @@ function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPr if (parsedFile.includes(moFile)) { outputFileName = path.join(tempDir, outputFileName.split(outDir)[1]) } + let allObjectsJson if (outputFormat === 'semantic' || outputFormat === 'cxf') { const jsonOp = JSON.parse(fs.readFileSync(outputFileName, 'utf8')) - generateAllObjectsJson(jsonOp, moFile, tempDir, prettyPrint) + allObjectsJson = generateAllObjectsJson(jsonOp, moFile, tempDir, prettyPrint) } if (outputFormat === 'cxf') { - const jsonOp = JSON.parse(fs.readFileSync(outputFileName, 'utf8')) - const allObjectsJson = generateAllObjectsJson(jsonOp, moFile, tempDir, prettyPrint) - generateCxf(allObjectsJson, moFile, tempDir, prettyPrint, generateCxfCore) + generateCxf(allObjectsJson, moFile, tempDir, prettyPrint, generateElementary, generateCxfCore) } return null } @@ -113,14 +114,14 @@ function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPr // write the simplified json output to file const out = (prettyPrint === 'false') ? JSON.stringify(da) : JSON.stringify(da, null, 2) ut.writeFile(tempJsonPath, out) + let allObjectsJson2 if (outputFormat === 'semantic' || outputFormat === 'cxf') { const jsonOp = JSON.parse(fs.readFileSync(tempJsonPath, 'utf8')) - generateAllObjectsJson(jsonOp, moFile, tempDir, prettyPrint) + allObjectsJson2 = generateAllObjectsJson(jsonOp, moFile, tempDir, prettyPrint) } + if (outputFormat === 'cxf') { - const jsonOp = JSON.parse(fs.readFileSync(tempJsonPath, 'utf8')) - const allObjectsJson2 = generateAllObjectsJson(jsonOp, moFile, tempDir, prettyPrint) - generateCxf(allObjectsJson2, moFile, tempDir, prettyPrint, generateCxfCore) + generateCxf(allObjectsJson2, moFile, tempDir, prettyPrint, generateElementary, generateCxfCore) } // add the full path to the list @@ -131,7 +132,7 @@ function getSimpleJson (moFile, parseMode, tempDir, parsedFile, outDir, prettyPr if (instantiateClass.length > 0) { instantiateClass.forEach(function (obj) { if (!parsedFile.includes(obj)) { - parsedFile.push(getSimpleJson(obj, parseMode, tempDir, parsedFile, outDir, prettyPrint, outputFormat, generateCxfCore)) + parsedFile.push(getSimpleJson(obj, parseMode, tempDir, parsedFile, outDir, prettyPrint, outputFormat, generateElementary, generateCxfCore)) } }) } @@ -147,35 +148,40 @@ function generateAllObjectsJson (jsonOutput, moFile, tempDir, prettyPrint) { return allObjectsJson } -function generateCxf (jsonOutput, moFile, tempDir, prettyPrint, generateCxfCore = false) { +function generateCxf (jsonOutput, moFile, tempDir, prettyPrint, generateElementary, generateCxfCore) { const fileNameTokens = moFile.split('.mo')[0].split(path.sep) - if (fileNameTokens.slice(fileNameTokens.length - 3)[0] === 'CDL') { + let outputFilePath + if (fileNameTokens.includes('CDL')) { let cxfGraphJsonLd - if (generateCxfCore) { + if (generateCxfCore || generateElementary) { + // TODO: handle this const instances = jsonOutput.instances const requiredReferences = jsonOutput.requiredReferences const blockName = moFile.split(path.sep)[moFile.split(path.sep).length - 1].split('.mo')[0] - cxfGraphJsonLd = Object.assign({}, cxfGraphJsonLd, cxfExt.getCxfGraph(instances, requiredReferences, blockName, generateCxfCore)) + cxfGraphJsonLd = Object.assign({}, cxfGraphJsonLd, cxfExt.getCxfGraph(instances, requiredReferences, blockName, generateElementary, generateCxfCore)) } if (cxfGraphJsonLd !== undefined && cxfGraphJsonLd !== null) { const cxfCoreGraphJsonLdOut = (prettyPrint === 'false') ? JSON.stringify(cxfGraphJsonLd) : JSON.stringify(cxfGraphJsonLd, null, 2) const cxfCorePath = ut.getOutputFile(moFile, 'cxf', tempDir) ut.writeFile(cxfCorePath, cxfCoreGraphJsonLdOut) + outputFilePath = cxfCorePath } } else { const instances = jsonOutput.instances const requiredReferences = jsonOutput.requiredReferences const blockName = moFile.split(path.sep)[moFile.split(path.sep).length - 1].split('.mo')[0] - const cxfGraphJsonLd = cxfExt.getCxfGraph(instances, requiredReferences, blockName) + const cxfGraphJsonLd = cxfExt.getCxfGraph(instances, requiredReferences, blockName, generateElementary, generateCxfCore) if (cxfGraphJsonLd !== undefined && cxfGraphJsonLd !== null) { const cxfGraphJsonLdOut = (prettyPrint === 'false') ? JSON.stringify(cxfGraphJsonLd) : JSON.stringify(cxfGraphJsonLd, null, 2) const cxfPath = ut.getOutputFile(moFile, 'cxf', tempDir) ut.writeFile(cxfPath, cxfGraphJsonLdOut) + outputFilePath = cxfPath } else { // TODO: only extract CDL instances // console.log(`${moFile} not a valid CDL file. Not generating CXF`) } } + return outputFilePath } /** diff --git a/test/reference/cxf/test/FromModelica/Block1.jsonld b/test/reference/cxf/test/FromModelica/Block1.jsonld index e9c71a55..6566b9c5 100644 --- a/test/reference/cxf/test/FromModelica/Block1.jsonld +++ b/test/reference/cxf/test/FromModelica/Block1.jsonld @@ -2,6 +2,6 @@ "@context": { "S231P": "https://data.ashrae.org/S231P#" }, - "@id": "seq:Block1", + "@id": "http://example.org#FromModelica.Block1", "@type": "S231P:Block" } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/BlockInputOutput.jsonld b/test/reference/cxf/test/FromModelica/BlockInputOutput.jsonld index 6675b4c8..24bce2ed 100644 --- a/test/reference/cxf/test/FromModelica/BlockInputOutput.jsonld +++ b/test/reference/cxf/test/FromModelica/BlockInputOutput.jsonld @@ -4,17 +4,17 @@ }, "@graph": [ { - "@id": "seq:BlockInputOutput", + "@id": "http://example.org#FromModelica.BlockInputOutput", "@type": "S231P:Block", "S231P:hasInput": { - "@id": "seq:BlockInputOutput#u" + "@id": "http://example.org#FromModelica.BlockInputOutput.u" }, "S231P:hasOutput": { - "@id": "seq:BlockInputOutput#y" + "@id": "http://example.org#FromModelica.BlockInputOutput.y" } }, { - "@id": "seq:BlockInputOutput#u", + "@id": "http://example.org#FromModelica.BlockInputOutput.u", "@type": "S231P:RealInput", "S231P:accessSpecifier": "public", "S231P:description": "Input connector", @@ -22,7 +22,7 @@ "S231P:label": "u" }, { - "@id": "seq:BlockInputOutput#y", + "@id": "http://example.org#FromModelica.BlockInputOutput.y", "@type": "S231P:RealOutput", "S231P:accessSpecifier": "public", "S231P:description": "Output connector", diff --git a/test/reference/cxf/test/FromModelica/BlockWithBlock1.jsonld b/test/reference/cxf/test/FromModelica/BlockWithBlock1.jsonld index 1e5d8e07..e5bed28b 100644 --- a/test/reference/cxf/test/FromModelica/BlockWithBlock1.jsonld +++ b/test/reference/cxf/test/FromModelica/BlockWithBlock1.jsonld @@ -1,30 +1,31 @@ { "@context": { - "S231P": "https://data.ashrae.org/S231P#" + "S231P": "https://data.ashrae.org/S231P#", + "ex": "http://example.org#" }, "@graph": [ { - "@id": "seq:BlockWithBlock1", + "@id": "http://example.org#FromModelica.BlockWithBlock1", "@type": "S231P:Block", "S231P:containsBlock": [ { - "@id": "seq:BlockWithBlock1#bloPro" + "@id": "http://example.org#FromModelica.BlockWithBlock1.bloPro" }, { - "@id": "seq:BlockWithBlock1#bloPub" + "@id": "http://example.org#FromModelica.BlockWithBlock1.bloPub" } ] }, { - "@id": "seq:BlockWithBlock1#bloPro", - "@type": "seq:Block1", + "@id": "http://example.org#FromModelica.BlockWithBlock1.bloPro", + "@type": "ex:Block1", "S231P:accessSpecifier": "protected", "S231P:description": "A protected block", "S231P:label": "bloPro" }, { - "@id": "seq:BlockWithBlock1#bloPub", - "@type": "seq:Block1", + "@id": "http://example.org#FromModelica.BlockWithBlock1.bloPub", + "@type": "ex:Block1", "S231P:accessSpecifier": "public", "S231P:description": "A public block", "S231P:label": "bloPub" diff --git a/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld b/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld index 5b747979..ef1bf17c 100644 --- a/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld +++ b/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld @@ -4,23 +4,23 @@ }, "@graph": [ { - "@id": "seq:ConditionalBlock", + "@id": "http://example.org#FromModelica.ConditionalBlock", "@type": "S231P:Block", "S231P:containsBlock": { - "@id": "seq:ConditionalBlock#abs" + "@id": "http://example.org#FromModelica.ConditionalBlock.abs" }, "S231P:hasInput": { - "@id": "seq:ConditionalBlock#u" + "@id": "http://example.org#FromModelica.ConditionalBlock.u" }, "S231P:hasOutput": { - "@id": "seq:ConditionalBlock#y" + "@id": "http://example.org#FromModelica.ConditionalBlock.y" }, "S231P:hasParameter": { - "@id": "seq:ConditionalBlock#enaBlo" + "@id": "http://example.org#FromModelica.ConditionalBlock.enaBlo" } }, { - "@id": "seq:ConditionalBlock#abs", + "@id": "http://example.org#FromModelica.ConditionalBlock.abs", "@type": "https://data.ashrae.org/S231P#CXF.Reals.Abs", "S231P:accessSpecifier": "public", "S231P:description": "Instance could be conditional disabled", @@ -28,7 +28,7 @@ "S231P:label": "abs" }, { - "@id": "seq:ConditionalBlock#enaBlo", + "@id": "http://example.org#FromModelica.ConditionalBlock.enaBlo", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Flag for enabling instance", @@ -39,7 +39,7 @@ "S231P:value": true }, { - "@id": "seq:ConditionalBlock#u", + "@id": "http://example.org#FromModelica.ConditionalBlock.u", "@type": "S231P:RealInput", "S231P:accessSpecifier": "public", "S231P:description": "Input connector", @@ -47,7 +47,7 @@ "S231P:label": "u" }, { - "@id": "seq:ConditionalBlock#y", + "@id": "http://example.org#FromModelica.ConditionalBlock.y", "@type": "S231P:RealOutput", "S231P:accessSpecifier": "public", "S231P:description": "Output connector", diff --git a/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld b/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld index 7fe4b96a..cf12255e 100644 --- a/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld +++ b/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld @@ -4,63 +4,68 @@ }, "@graph": [ { - "@id": "seq:CustomPWithLimiter", + "@id": "http://example.org#FromModelica.CustomPWithLimiter", "@type": "S231P:Block", "S231P:containsBlock": [ { - "@id": "seq:CustomPWithLimiter#gain" + "@id": "http://example.org#FromModelica.CustomPWithLimiter.gain" }, { - "@id": "seq:CustomPWithLimiter#minValue" + "@id": "http://example.org#FromModelica.CustomPWithLimiter.minValue" } ], "S231P:hasInput": [ { - "@id": "seq:CustomPWithLimiter#e" + "@id": "http://example.org#FromModelica.CustomPWithLimiter.e" }, { - "@id": "seq:CustomPWithLimiter#yMax" + "@id": "http://example.org#FromModelica.CustomPWithLimiter.yMax" } ], "S231P:hasOutput": { - "@id": "seq:CustomPWithLimiter#y" + "@id": "http://example.org#FromModelica.CustomPWithLimiter.y" }, "S231P:hasParameter": { - "@id": "seq:CustomPWithLimiter#k" + "@id": "http://example.org#FromModelica.CustomPWithLimiter.k" } }, { - "@id": "seq:CustomPWithLimiter#e", + "@id": "http://example.org#FromModelica.CustomPWithLimiter.e", "@type": "S231P:RealInput", "S231P:accessSpecifier": "public", "S231P:description": "Control error", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-60},{\"x\":-100,\"y\":-20}]}}}", "S231P:isConnectedTo": { - "@id": "seq:CustomPWithLimiter#gain.u" + "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.gain.u" }, "S231P:label": "e" }, { - "@id": "seq:CustomPWithLimiter#gain", + "@id": "http://example.org#FromModelica.CustomPWithLimiter.gain", "@type": "https://data.ashrae.org/S231P#CXF.Reals.MultiplyByParameter", "S231P:accessSpecifier": "public", "S231P:description": "Constant gain", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-60,\"y\":-50},{\"x\":-40,\"y\":-30}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#FromModelica.CustomPWithLimiter.gain.k" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.gain.u" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.gain.y" + } + ], "S231P:label": "gain" }, { - "@id": "seq:CustomPWithLimiter#gain.k", + "@id": "http://example.org#FromModelica.CustomPWithLimiter.gain.k", "S231P:isFinal": true, "S231P:value": "k" }, { - "@id": "seq:CustomPWithLimiter#gain.y", - "S231P:isConnectedTo": { - "@id": "seq:CustomPWithLimiter#minValue.u2" - } - }, - { - "@id": "seq:CustomPWithLimiter#k", + "@id": "http://example.org#FromModelica.CustomPWithLimiter.k", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Constant gain", @@ -71,21 +76,26 @@ "S231P:value": 2 }, { - "@id": "seq:CustomPWithLimiter#minValue", + "@id": "http://example.org#FromModelica.CustomPWithLimiter.minValue", "@type": "https://data.ashrae.org/S231P#CXF.Reals.Min", "S231P:accessSpecifier": "public", "S231P:description": "Outputs the minimum of its inputs", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":20,\"y\":-10},{\"x\":40,\"y\":10}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.minValue.u1" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.minValue.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.minValue.y" + } + ], "S231P:label": "minValue" }, { - "@id": "seq:CustomPWithLimiter#minValue.y", - "S231P:isConnectedTo": { - "@id": "seq:CustomPWithLimiter#y" - } - }, - { - "@id": "seq:CustomPWithLimiter#y", + "@id": "http://example.org#FromModelica.CustomPWithLimiter.y", "@type": "S231P:RealOutput", "S231P:accessSpecifier": "public", "S231P:description": "Control signal", @@ -93,15 +103,27 @@ "S231P:label": "y" }, { - "@id": "seq:CustomPWithLimiter#yMax", + "@id": "http://example.org#FromModelica.CustomPWithLimiter.yMax", "@type": "S231P:RealInput", "S231P:accessSpecifier": "public", "S231P:description": "Maximum value of output signal", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":20},{\"x\":-100,\"y\":60}]}}}", "S231P:isConnectedTo": { - "@id": "seq:CustomPWithLimiter#minValue.u1" + "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.minValue.u1" }, "S231P:label": "yMax" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.gain.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.minValue.u2" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.minValue.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.CustomPWithLimiter.y" + } } ] } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld b/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld index 551d0f32..a42f8d53 100644 --- a/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld +++ b/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld @@ -4,14 +4,14 @@ }, "@graph": [ { - "@id": "seq:DynamicTextColor", + "@id": "http://example.org#FromModelica.DynamicTextColor", "@type": "S231P:Block", "S231P:containsBlock": { - "@id": "seq:DynamicTextColor#u" + "@id": "http://example.org#FromModelica.DynamicTextColor.u" } }, { - "@id": "seq:DynamicTextColor#u", + "@id": "http://example.org#FromModelica.DynamicTextColor.u", "@type": "https://data.ashrae.org/S231P#CXF.Interfaces.Boolean", "S231P:accessSpecifier": "public", "S231P:description": "Input connector", diff --git a/test/reference/cxf/test/FromModelica/EmptyEquation.jsonld b/test/reference/cxf/test/FromModelica/EmptyEquation.jsonld index 7fd40a9a..8b70b8e6 100644 --- a/test/reference/cxf/test/FromModelica/EmptyEquation.jsonld +++ b/test/reference/cxf/test/FromModelica/EmptyEquation.jsonld @@ -2,6 +2,6 @@ "@context": { "S231P": "https://data.ashrae.org/S231P#" }, - "@id": "seq:EmptyEquation", + "@id": "http://example.org#FromModelica.EmptyEquation", "@type": "S231P:Block" } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/Enable.jsonld b/test/reference/cxf/test/FromModelica/Enable.jsonld index 3eb41255..56b35996 100644 --- a/test/reference/cxf/test/FromModelica/Enable.jsonld +++ b/test/reference/cxf/test/FromModelica/Enable.jsonld @@ -1,247 +1,259 @@ { "@context": { "S231P": "https://data.ashrae.org/S231P#", - "qudt": "http://qudt.org/schema/qudt#" + "qudt": "http://qudt.org/schema/qudt#", + "unit": "http://qudt.org/vocab/unit#" }, "@graph": [ { - "@id": "seq:Enable", + "@id": "http://example.org#FromModelica.Enable", "@type": "S231P:Block", "S231P:containsBlock": [ { - "@id": "seq:Enable#and1" + "@id": "http://example.org#FromModelica.Enable.and1" }, { - "@id": "seq:Enable#and2" + "@id": "http://example.org#FromModelica.Enable.and2" }, { - "@id": "seq:Enable#and3" + "@id": "http://example.org#FromModelica.Enable.and3" }, { - "@id": "seq:Enable#andEnaDis" + "@id": "http://example.org#FromModelica.Enable.andEnaDis" }, { - "@id": "seq:Enable#conInt" + "@id": "http://example.org#FromModelica.Enable.conInt" }, { - "@id": "seq:Enable#delOutDamOsc" + "@id": "http://example.org#FromModelica.Enable.delOutDamOsc" }, { - "@id": "seq:Enable#delRetDam" + "@id": "http://example.org#FromModelica.Enable.delRetDam" }, { - "@id": "seq:Enable#entSubst1" + "@id": "http://example.org#FromModelica.Enable.entSubst1" }, { - "@id": "seq:Enable#hysOutEnt" + "@id": "http://example.org#FromModelica.Enable.hysOutEnt" }, { - "@id": "seq:Enable#hysOutTem" + "@id": "http://example.org#FromModelica.Enable.hysOutTem" }, { - "@id": "seq:Enable#intEqu" + "@id": "http://example.org#FromModelica.Enable.intEqu" }, { - "@id": "seq:Enable#maxRetDamSwitch" + "@id": "http://example.org#FromModelica.Enable.maxRetDamSwitch" }, { - "@id": "seq:Enable#minRetDamSwitch" + "@id": "http://example.org#FromModelica.Enable.minRetDamSwitch" }, { - "@id": "seq:Enable#not1" + "@id": "http://example.org#FromModelica.Enable.not1" }, { - "@id": "seq:Enable#not2" + "@id": "http://example.org#FromModelica.Enable.not2" }, { - "@id": "seq:Enable#or2" + "@id": "http://example.org#FromModelica.Enable.or2" }, { - "@id": "seq:Enable#outDamSwitch" + "@id": "http://example.org#FromModelica.Enable.outDamSwitch" }, { - "@id": "seq:Enable#retDamSwitch" + "@id": "http://example.org#FromModelica.Enable.retDamSwitch" }, { - "@id": "seq:Enable#sub1" + "@id": "http://example.org#FromModelica.Enable.sub1" }, { - "@id": "seq:Enable#sub2" + "@id": "http://example.org#FromModelica.Enable.sub2" }, { - "@id": "seq:Enable#truFalHol" + "@id": "http://example.org#FromModelica.Enable.truFalHol" } ], "S231P:hasInput": [ { - "@id": "seq:Enable#hOut" + "@id": "http://example.org#FromModelica.Enable.hOut" }, { - "@id": "seq:Enable#hOutCut" + "@id": "http://example.org#FromModelica.Enable.hOutCut" }, { - "@id": "seq:Enable#TOut" + "@id": "http://example.org#FromModelica.Enable.TOut" }, { - "@id": "seq:Enable#TOutCut" + "@id": "http://example.org#FromModelica.Enable.TOutCut" }, { - "@id": "seq:Enable#u1SupFan" + "@id": "http://example.org#FromModelica.Enable.u1SupFan" }, { - "@id": "seq:Enable#uFreProSta" + "@id": "http://example.org#FromModelica.Enable.uFreProSta" }, { - "@id": "seq:Enable#uOutDam_max" + "@id": "http://example.org#FromModelica.Enable.uOutDam_max" }, { - "@id": "seq:Enable#uOutDam_min" + "@id": "http://example.org#FromModelica.Enable.uOutDam_min" }, { - "@id": "seq:Enable#uRetDam_max" + "@id": "http://example.org#FromModelica.Enable.uRetDam_max" }, { - "@id": "seq:Enable#uRetDam_min" + "@id": "http://example.org#FromModelica.Enable.uRetDam_min" }, { - "@id": "seq:Enable#uRetDamPhy_max" + "@id": "http://example.org#FromModelica.Enable.uRetDamPhy_max" } ], "S231P:hasOutput": [ { - "@id": "seq:Enable#yOutDam_max" + "@id": "http://example.org#FromModelica.Enable.yOutDam_max" }, { - "@id": "seq:Enable#yRetDam_max" + "@id": "http://example.org#FromModelica.Enable.yRetDam_max" }, { - "@id": "seq:Enable#yRetDam_min" + "@id": "http://example.org#FromModelica.Enable.yRetDam_min" } ], "S231P:hasParameter": [ { - "@id": "seq:Enable#delEntHis" + "@id": "http://example.org#FromModelica.Enable.delEntHis" }, { - "@id": "seq:Enable#delTOutHis" + "@id": "http://example.org#FromModelica.Enable.delTOutHis" }, { - "@id": "seq:Enable#disDel" + "@id": "http://example.org#FromModelica.Enable.disDel" }, { - "@id": "seq:Enable#hOutHigLimCutHig" + "@id": "http://example.org#FromModelica.Enable.hOutHigLimCutHig" }, { - "@id": "seq:Enable#hOutHigLimCutLow" + "@id": "http://example.org#FromModelica.Enable.hOutHigLimCutLow" }, { - "@id": "seq:Enable#retDamFulOpeTim" + "@id": "http://example.org#FromModelica.Enable.retDamFulOpeTim" }, { - "@id": "seq:Enable#TOutHigLimCutHig" + "@id": "http://example.org#FromModelica.Enable.TOutHigLimCutHig" }, { - "@id": "seq:Enable#TOutHigLimCutLow" + "@id": "http://example.org#FromModelica.Enable.TOutHigLimCutLow" }, { - "@id": "seq:Enable#use_enthalpy" + "@id": "http://example.org#FromModelica.Enable.use_enthalpy" } ] }, { - "@id": "seq:Enable#and1", + "@id": "http://example.org#FromModelica.Enable.and1", "@type": "https://data.ashrae.org/S231P#CXF.Logical.And", "S231P:accessSpecifier": "protected", "S231P:description": "Check supply fan status", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":20,\"y\":80},{\"x\":40,\"y\":100}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.and1.u1" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.and1.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.and1.y" + } + ], "S231P:label": "and1" }, { - "@id": "seq:Enable#and1.y", - "S231P:isConnectedTo": { - "@id": "seq:Enable#andEnaDis.u1" - } - }, - { - "@id": "seq:Enable#and2", + "@id": "http://example.org#FromModelica.Enable.and2", "@type": "https://data.ashrae.org/S231P#CXF.Logical.And", "S231P:accessSpecifier": "protected", "S231P:description": "Logical and", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":160,\"y\":-100},{\"x\":180,\"y\":-80}]}}}", - "S231P:label": "and2" - }, - { - "@id": "seq:Enable#and2.u1", - "S231P:isConnectedTo": { - "@id": "seq:Enable#not2.y" - } - }, - { - "@id": "seq:Enable#and2.y", - "S231P:isConnectedTo": [ + "S231P:hasInstance": [ { - "@id": "seq:Enable#maxRetDamSwitch.u2" + "@id": "http://example.org#http://example.org#FromModelica.Enable.and2.u1" }, { - "@id": "seq:Enable#minRetDamSwitch.u2" + "@id": "http://example.org#http://example.org#FromModelica.Enable.and2.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.and2.y" } - ] + ], + "S231P:label": "and2" }, { - "@id": "seq:Enable#and3", + "@id": "http://example.org#FromModelica.Enable.and3", "@type": "https://data.ashrae.org/S231P#CXF.Logical.And", "S231P:accessSpecifier": "protected", "S231P:description": "Check if delay time has been passed after economizer being disabled", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":40,\"y\":-54},{\"x\":60,\"y\":-34}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.and3.u1" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.and3.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.and3.y" + } + ], "S231P:label": "and3" }, { - "@id": "seq:Enable#and3.u2", - "S231P:isConnectedTo": { - "@id": "seq:Enable#delOutDamOsc.y" - } - }, - { - "@id": "seq:Enable#andEnaDis", + "@id": "http://example.org#FromModelica.Enable.andEnaDis", "@type": "https://data.ashrae.org/S231P#CXF.Logical.And", "S231P:accessSpecifier": "public", "S231P:description": "Check freeze protection stage and zone state", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":60,\"y\":12},{\"x\":80,\"y\":32}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.andEnaDis.u1" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.andEnaDis.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.andEnaDis.y" + } + ], "S231P:label": "andEnaDis" }, { - "@id": "seq:Enable#andEnaDis.y", - "S231P:isConnectedTo": { - "@id": "seq:Enable#not2.u" - } - }, - { - "@id": "seq:Enable#conInt", - "@type": "seq:Buildings.Controls.OBC.CDL.Integers.Sources.Constant", + "@id": "http://example.org#FromModelica.Enable.conInt", + "@type": "http://example.org#Buildings.Controls.OBC.CDL.Integers.Sources.Constant", "S231P:accessSpecifier": "protected", "S231P:description": "Integer constant, stage 0", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-118,\"y\":12},{\"x\":-98,\"y\":32}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#FromModelica.Enable.conInt.k" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.conInt.y" + } + ], "S231P:label": "conInt" }, { - "@id": "seq:Enable#conInt.k", + "@id": "http://example.org#FromModelica.Enable.conInt.k", "S231P:isFinal": true, "S231P:value": "Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeProtectionStages.stage0" }, { - "@id": "seq:Enable#conInt.y", - "S231P:isConnectedTo": { - "@id": "seq:Enable#intEqu.u2" - } - }, - { - "@id": "seq:Enable#delEntHis", + "@id": "http://example.org#FromModelica.Enable.delEntHis", "@type": "S231P:Parameter", "qudt:hasQuantityKind": { - "@id": "qudt:SpecificEnergy" + "@id": "S231P:SpecificEnergy" }, "qudt:hasUnit": { - "@id": "http://qudt.org/schema/qudt#J/kg" + "@id": "https://data.ashrae.org/S231P#J/kg" }, "S231P:accessSpecifier": "public", "S231P:description": "Delta between the enthalpy hysteresis high and low limits", @@ -253,54 +265,64 @@ "S231P:value": 1000 }, { - "@id": "seq:Enable#delOutDamOsc", + "@id": "http://example.org#FromModelica.Enable.delOutDamOsc", "@type": "https://data.ashrae.org/S231P#CXF.Logical.TrueDelay", "S231P:accessSpecifier": "protected", "S231P:description": "Small delay before closing the outdoor air damper to avoid pressure fluctuations", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-20,\"y\":-58},{\"x\":0,\"y\":-38}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#FromModelica.Enable.delOutDamOsc.delayTime" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.delOutDamOsc.u" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.delOutDamOsc.y" + } + ], "S231P:label": "delOutDamOsc" }, { - "@id": "seq:Enable#delOutDamOsc.delayTime", + "@id": "http://example.org#FromModelica.Enable.delOutDamOsc.delayTime", "S231P:isFinal": true, "S231P:value": "disDel" }, { - "@id": "seq:Enable#delOutDamOsc.u", - "S231P:isConnectedTo": { - "@id": "seq:Enable#not2.y" - } - }, - { - "@id": "seq:Enable#delRetDam", + "@id": "http://example.org#FromModelica.Enable.delRetDam", "@type": "https://data.ashrae.org/S231P#CXF.Logical.TrueDelay", "S231P:accessSpecifier": "protected", "S231P:description": "Keep return damper open to its physical maximum for a short period of time before closing the outdoor air damper and resuming the maximum return air damper position, per G36 Part N7", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-20,\"y\":-108},{\"x\":0,\"y\":-88}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#FromModelica.Enable.delRetDam.delayTime" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.delRetDam.u" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.delRetDam.y" + } + ], "S231P:label": "delRetDam" }, { - "@id": "seq:Enable#delRetDam.delayTime", + "@id": "http://example.org#FromModelica.Enable.delRetDam.delayTime", "S231P:isFinal": true, "S231P:value": "retDamFulOpeTim" }, { - "@id": "seq:Enable#delRetDam.y", - "S231P:isConnectedTo": { - "@id": "seq:Enable#not1.u" - } - }, - { - "@id": "seq:Enable#delTOutHis", + "@id": "http://example.org#FromModelica.Enable.delTOutHis", "@type": "S231P:Parameter", "qudt:hasDisplayUnit": { - "@id": "qudt:K" + "@id": "S231P:K" }, "qudt:hasQuantityKind": { - "@id": "qudt:TemperatureDifference" + "@id": "S231P:TemperatureDifference" }, "qudt:hasUnit": { - "@id": "qudt:K" + "@id": "S231P:K" }, "S231P:accessSpecifier": "public", "S231P:description": "Delta between the temperature hysteresis high and low limit", @@ -312,13 +334,13 @@ "S231P:value": 1 }, { - "@id": "seq:Enable#disDel", + "@id": "http://example.org#FromModelica.Enable.disDel", "@type": "S231P:Parameter", "qudt:hasQuantityKind": { - "@id": "qudt:Time" + "@id": "S231P:Time" }, "qudt:hasUnit": { - "@id": "qudt:s" + "@id": "S231P:s" }, "S231P:accessSpecifier": "public", "S231P:description": "Short time delay before closing the OA damper at disable to avoid pressure fluctuations", @@ -330,66 +352,68 @@ "S231P:value": 15 }, { - "@id": "seq:Enable#entSubst1", - "@type": "seq:Buildings.Controls.OBC.CDL.Logical.Sources.Constant", + "@id": "http://example.org#FromModelica.Enable.entSubst1", + "@type": "http://example.org#Buildings.Controls.OBC.CDL.Logical.Sources.Constant", "S231P:accessSpecifier": "protected", "S231P:description": "Deactivates outdoor air enthalpy condition if there is no enthalpy sensor", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-160,\"y\":180},{\"x\":-140,\"y\":200}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#FromModelica.Enable.entSubst1.k" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.entSubst1.y" + } + ], "S231P:label": "entSubst1" }, { - "@id": "seq:Enable#entSubst1.k", + "@id": "http://example.org#FromModelica.Enable.entSubst1.k", "S231P:isFinal": true, "S231P:value": false }, { - "@id": "seq:Enable#entSubst1.y", - "S231P:isConnectedTo": { - "@id": "seq:Enable#or2.u2" - } - }, - { - "@id": "seq:Enable#hOut", + "@id": "http://example.org#FromModelica.Enable.hOut", "@type": "S231P:RealInput", "qudt:hasQuantityKind": { - "@id": "qudt:SpecificEnergy" + "@id": "S231P:SpecificEnergy" }, "qudt:hasUnit": { - "@id": "http://qudt.org/schema/qudt#J/kg" + "@id": "https://data.ashrae.org/S231P#J/kg" }, "S231P:accessSpecifier": "public", "S231P:description": "Outdoor air enthalpy", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":152},{\"x\":-260,\"y\":192}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":60},{\"x\":-100,\"y\":100}]}}}", "S231P:isConnectedTo": { - "@id": "seq:Enable#sub2.u1" + "@id": "http://example.org#http://example.org#FromModelica.Enable.sub2.u1" }, "S231P:label": "hOut" }, { - "@id": "seq:Enable#hOutCut", + "@id": "http://example.org#FromModelica.Enable.hOutCut", "@type": "S231P:RealInput", "qudt:hasQuantityKind": { - "@id": "qudt:SpecificEnergy" + "@id": "S231P:SpecificEnergy" }, "qudt:hasUnit": { - "@id": "http://qudt.org/schema/qudt#J/kg" + "@id": "https://data.ashrae.org/S231P#J/kg" }, "S231P:accessSpecifier": "public", "S231P:description": "OA enthalpy high limit cutoff. For differential enthalpy use return air enthalpy measurement", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":112},{\"x\":-260,\"y\":152}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}", "S231P:isConnectedTo": { - "@id": "seq:Enable#sub2.u2" + "@id": "http://example.org#http://example.org#FromModelica.Enable.sub2.u2" }, "S231P:label": "hOutCut" }, { - "@id": "seq:Enable#hOutHigLimCutHig", + "@id": "http://example.org#FromModelica.Enable.hOutHigLimCutHig", "@type": "S231P:Parameter", "qudt:hasQuantityKind": { - "@id": "qudt:SpecificEnergy" + "@id": "S231P:SpecificEnergy" }, "qudt:hasUnit": { - "@id": "http://qudt.org/schema/qudt#J/kg" + "@id": "https://data.ashrae.org/S231P#J/kg" }, "S231P:accessSpecifier": "protected", "S231P:description": "Hysteresis block high limit cutoff", @@ -400,7 +424,7 @@ "S231P:value": 0 }, { - "@id": "seq:Enable#hOutHigLimCutLow", + "@id": "http://example.org#FromModelica.Enable.hOutHigLimCutLow", "@type": "S231P:Parameter", "S231P:accessSpecifier": "protected", "S231P:description": "Hysteresis block low limit cutoff", @@ -411,173 +435,213 @@ "S231P:value": "hOutHigLimCutHig -delEntHis" }, { - "@id": "seq:Enable#hysOutEnt", + "@id": "http://example.org#FromModelica.Enable.hysOutEnt", "@type": "https://data.ashrae.org/S231P#CXF.Reals.Hysteresis", "S231P:accessSpecifier": "protected", "S231P:description": "Outdoor air enthalpy hysteresis for both fixed and differential enthalpy cutoff conditions", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-160,\"y\":140},{\"x\":-140,\"y\":160}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#FromModelica.Enable.hysOutEnt.uHigh" + }, + { + "@id": "http://example.org#FromModelica.Enable.hysOutEnt.uLow" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.hysOutEnt.u" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.hysOutEnt.y" + } + ], "S231P:label": "hysOutEnt" }, { - "@id": "seq:Enable#hysOutEnt.uHigh", + "@id": "http://example.org#FromModelica.Enable.hysOutEnt.uHigh", "S231P:isFinal": true, "S231P:value": "hOutHigLimCutHig" }, { - "@id": "seq:Enable#hysOutEnt.uLow", + "@id": "http://example.org#FromModelica.Enable.hysOutEnt.uLow", "S231P:isFinal": true, "S231P:value": "hOutHigLimCutLow" }, { - "@id": "seq:Enable#hysOutEnt.y", - "S231P:isConnectedTo": { - "@id": "seq:Enable#or2.u2" - } - }, - { - "@id": "seq:Enable#hysOutTem", + "@id": "http://example.org#FromModelica.Enable.hysOutTem", "@type": "https://data.ashrae.org/S231P#CXF.Reals.Hysteresis", "S231P:accessSpecifier": "protected", "S231P:description": "Outdoor air temperature hysteresis for both fixed and differential dry bulb temperature cutoff conditions", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-160,\"y\":220},{\"x\":-140,\"y\":240}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#FromModelica.Enable.hysOutTem.uHigh" + }, + { + "@id": "http://example.org#FromModelica.Enable.hysOutTem.uLow" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.hysOutTem.u" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.hysOutTem.y" + } + ], "S231P:label": "hysOutTem" }, { - "@id": "seq:Enable#hysOutTem.uHigh", + "@id": "http://example.org#FromModelica.Enable.hysOutTem.uHigh", "S231P:isFinal": true, "S231P:value": "TOutHigLimCutHig" }, { - "@id": "seq:Enable#hysOutTem.uLow", + "@id": "http://example.org#FromModelica.Enable.hysOutTem.uLow", "S231P:isFinal": true, "S231P:value": "TOutHigLimCutLow" }, { - "@id": "seq:Enable#hysOutTem.y", - "S231P:isConnectedTo": { - "@id": "seq:Enable#or2.u1" - } - }, - { - "@id": "seq:Enable#intEqu", + "@id": "http://example.org#FromModelica.Enable.intEqu", "@type": "https://data.ashrae.org/S231P#CXF.Integers.Equal", "S231P:accessSpecifier": "protected", "S231P:description": "Logical block to check if the freeze protection is deactivated", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-78,\"y\":32},{\"x\":-58,\"y\":52}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.intEqu.u1" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.intEqu.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.intEqu.y" + } + ], "S231P:label": "intEqu" }, { - "@id": "seq:Enable#intEqu.y", - "S231P:isConnectedTo": { - "@id": "seq:Enable#andEnaDis.u2" - } - }, - { - "@id": "seq:Enable#maxRetDamSwitch", + "@id": "http://example.org#FromModelica.Enable.maxRetDamSwitch", "@type": "https://data.ashrae.org/S231P#CXF.Reals.Switch", "S231P:accessSpecifier": "protected", "S231P:description": "Keep maximum RA damper position at physical maximum for a short time period after disable signal", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":60,\"y\":-136},{\"x\":80,\"y\":-116}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.maxRetDamSwitch.u1" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.maxRetDamSwitch.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.maxRetDamSwitch.u3" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.maxRetDamSwitch.y" + } + ], "S231P:label": "maxRetDamSwitch" }, { - "@id": "seq:Enable#maxRetDamSwitch.y", - "S231P:isConnectedTo": { - "@id": "seq:Enable#yRetDam_max" - } - }, - { - "@id": "seq:Enable#minRetDamSwitch", + "@id": "http://example.org#FromModelica.Enable.minRetDamSwitch", "@type": "https://data.ashrae.org/S231P#CXF.Reals.Switch", "S231P:accessSpecifier": "protected", "S231P:description": "Keep minimum RA damper position at physical maximum for a short time period after disable", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":60,\"y\":-178},{\"x\":80,\"y\":-158}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.minRetDamSwitch.u1" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.minRetDamSwitch.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.minRetDamSwitch.u3" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.minRetDamSwitch.y" + } + ], "S231P:label": "minRetDamSwitch" }, { - "@id": "seq:Enable#minRetDamSwitch.y", - "S231P:isConnectedTo": { - "@id": "seq:Enable#yRetDam_min" - } - }, - { - "@id": "seq:Enable#not1", + "@id": "http://example.org#FromModelica.Enable.not1", "@type": "https://data.ashrae.org/S231P#CXF.Logical.Not", "S231P:accessSpecifier": "protected", "S231P:description": "Logical not", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":20,\"y\":-108},{\"x\":40,\"y\":-88}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.not1.u" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.not1.y" + } + ], "S231P:label": "not1" }, { - "@id": "seq:Enable#not1.y", - "S231P:isConnectedTo": { - "@id": "seq:Enable#and2.u2" - } - }, - { - "@id": "seq:Enable#not2", + "@id": "http://example.org#FromModelica.Enable.not2", "@type": "https://data.ashrae.org/S231P#CXF.Logical.Not", "S231P:accessSpecifier": "protected", "S231P:description": "Logical not that starts the timer at disable signal ", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-60,\"y\":-58},{\"x\":-40,\"y\":-38}]}}}", - "S231P:label": "not2" - }, - { - "@id": "seq:Enable#not2.y", - "S231P:isConnectedTo": [ + "S231P:hasInstance": [ { - "@id": "seq:Enable#and3.u1" + "@id": "http://example.org#http://example.org#FromModelica.Enable.not2.u" }, { - "@id": "seq:Enable#delRetDam.u" - }, - { - "@id": "seq:Enable#retDamSwitch.u2" + "@id": "http://example.org#http://example.org#FromModelica.Enable.not2.y" } - ] + ], + "S231P:label": "not2" }, { - "@id": "seq:Enable#or2", + "@id": "http://example.org#FromModelica.Enable.or2", "@type": "https://data.ashrae.org/S231P#CXF.Logical.Or", "S231P:accessSpecifier": "protected", "S231P:description": "Check if either the temperature or the enthalpy condition is satisfied", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-60,\"y\":182},{\"x\":-40,\"y\":202}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.or2.u1" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.or2.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.or2.y" + } + ], "S231P:label": "or2" }, { - "@id": "seq:Enable#or2.y", - "S231P:isConnectedTo": { - "@id": "seq:Enable#truFalHol.u" - } - }, - { - "@id": "seq:Enable#outDamSwitch", + "@id": "http://example.org#FromModelica.Enable.outDamSwitch", "@type": "https://data.ashrae.org/S231P#CXF.Reals.Switch", "S231P:accessSpecifier": "protected", "S231P:description": "Set maximum OA damper position to minimum at disable (after a given time delay)", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":82,\"y\":-78},{\"x\":102,\"y\":-58}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.outDamSwitch.u1" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.outDamSwitch.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.outDamSwitch.u3" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.outDamSwitch.y" + } + ], "S231P:label": "outDamSwitch" }, { - "@id": "seq:Enable#outDamSwitch.u2", - "S231P:isConnectedTo": { - "@id": "seq:Enable#and3.y" - } - }, - { - "@id": "seq:Enable#outDamSwitch.y", - "S231P:isConnectedTo": { - "@id": "seq:Enable#yOutDam_max" - } - }, - { - "@id": "seq:Enable#retDamFulOpeTim", + "@id": "http://example.org#FromModelica.Enable.retDamFulOpeTim", "@type": "S231P:Parameter", "qudt:hasQuantityKind": { - "@id": "qudt:Time" + "@id": "S231P:Time" }, "qudt:hasUnit": { - "@id": "qudt:s" + "@id": "S231P:s" }, "S231P:accessSpecifier": "public", "S231P:description": "Time period to keep RA damper fully open before releasing it for minimum outdoor airflow control\n at disable to avoid pressure fluctuations", @@ -589,98 +653,116 @@ "S231P:value": 180 }, { - "@id": "seq:Enable#retDamSwitch", + "@id": "http://example.org#FromModelica.Enable.retDamSwitch", "@type": "https://data.ashrae.org/S231P#CXF.Reals.Switch", "S231P:accessSpecifier": "protected", "S231P:description": "Set minimum RA damper position to maximum at disable", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-20,\"y\":-176},{\"x\":0,\"y\":-156}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.retDamSwitch.u1" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.retDamSwitch.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.retDamSwitch.u3" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.retDamSwitch.y" + } + ], "S231P:label": "retDamSwitch" }, { - "@id": "seq:Enable#retDamSwitch.y", - "S231P:isConnectedTo": { - "@id": "seq:Enable#minRetDamSwitch.u3" - } - }, - { - "@id": "seq:Enable#sub1", + "@id": "http://example.org#FromModelica.Enable.sub1", "@type": "https://data.ashrae.org/S231P#CXF.Reals.Subtract", "S231P:accessSpecifier": "protected", "S231P:description": "Add block determines difference between TOut and TOutCut", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-200,\"y\":220},{\"x\":-180,\"y\":240}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.sub1.u1" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.sub1.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.sub1.y" + } + ], "S231P:label": "sub1" }, { - "@id": "seq:Enable#sub1.y", - "S231P:isConnectedTo": { - "@id": "seq:Enable#hysOutTem.u" - } - }, - { - "@id": "seq:Enable#sub2", + "@id": "http://example.org#FromModelica.Enable.sub2", "@type": "https://data.ashrae.org/S231P#CXF.Reals.Subtract", "S231P:accessSpecifier": "protected", "S231P:description": "Add block determines difference between hOut and hOutCut", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-200,\"y\":140},{\"x\":-180,\"y\":160}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.sub2.u1" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.sub2.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.sub2.y" + } + ], "S231P:label": "sub2" }, { - "@id": "seq:Enable#sub2.y", - "S231P:isConnectedTo": { - "@id": "seq:Enable#hysOutEnt.u" - } - }, - { - "@id": "seq:Enable#TOut", + "@id": "http://example.org#FromModelica.Enable.TOut", "@type": "S231P:RealInput", "qudt:hasDisplayUnit": { - "@id": "qudt:degC" + "@id": "unit:DEG_C" }, "qudt:hasQuantityKind": { - "@id": "qudt:ThermodynamicTemperature" + "@id": "S231P:ThermodynamicTemperature" }, "qudt:hasUnit": { - "@id": "qudt:K" + "@id": "S231P:K" }, "S231P:accessSpecifier": "public", "S231P:description": "Outdoor air temperature", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":232},{\"x\":-260,\"y\":272}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":110},{\"x\":-100,\"y\":150}]}}}", "S231P:isConnectedTo": { - "@id": "seq:Enable#sub1.u1" + "@id": "http://example.org#http://example.org#FromModelica.Enable.sub1.u1" }, "S231P:label": "TOut" }, { - "@id": "seq:Enable#TOutCut", + "@id": "http://example.org#FromModelica.Enable.TOutCut", "@type": "S231P:RealInput", "qudt:hasDisplayUnit": { - "@id": "qudt:degC" + "@id": "unit:DEG_C" }, "qudt:hasQuantityKind": { - "@id": "qudt:ThermodynamicTemperature" + "@id": "S231P:ThermodynamicTemperature" }, "qudt:hasUnit": { - "@id": "qudt:K" + "@id": "S231P:K" }, "S231P:accessSpecifier": "public", "S231P:description": "OA temperature high limit cutoff. For differential dry bulb temperature condition use return air temperature measurement", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":192},{\"x\":-260,\"y\":232}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":90},{\"x\":-100,\"y\":130}]}}}", "S231P:isConnectedTo": { - "@id": "seq:Enable#sub1.u2" + "@id": "http://example.org#http://example.org#FromModelica.Enable.sub1.u2" }, "S231P:label": "TOutCut" }, { - "@id": "seq:Enable#TOutHigLimCutHig", + "@id": "http://example.org#FromModelica.Enable.TOutHigLimCutHig", "@type": "S231P:Parameter", "qudt:hasDisplayUnit": { - "@id": "qudt:K" + "@id": "S231P:K" }, "qudt:hasQuantityKind": { - "@id": "qudt:TemperatureDifference" + "@id": "S231P:TemperatureDifference" }, "qudt:hasUnit": { - "@id": "qudt:K" + "@id": "S231P:K" }, "S231P:accessSpecifier": "protected", "S231P:description": "Hysteresis high limit cutoff", @@ -691,7 +773,7 @@ "S231P:value": 0 }, { - "@id": "seq:Enable#TOutHigLimCutLow", + "@id": "http://example.org#FromModelica.Enable.TOutHigLimCutLow", "@type": "S231P:Parameter", "S231P:accessSpecifier": "protected", "S231P:description": "Hysteresis low limit cutoff", @@ -702,93 +784,98 @@ "S231P:value": "TOutHigLimCutHig -delTOutHis" }, { - "@id": "seq:Enable#truFalHol", + "@id": "http://example.org#FromModelica.Enable.truFalHol", "@type": "https://data.ashrae.org/S231P#CXF.Logical.TrueFalseHold", "S231P:accessSpecifier": "public", "S231P:description": "Economizer should not be enabled or disabled within 10 minutes of change", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":20,\"y\":182},{\"x\":40,\"y\":202}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#FromModelica.Enable.truFalHol.trueHoldDuration" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.truFalHol.u" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.truFalHol.y" + } + ], "S231P:label": "truFalHol" }, { - "@id": "seq:Enable#truFalHol.trueHoldDuration", + "@id": "http://example.org#FromModelica.Enable.truFalHol.trueHoldDuration", "S231P:isFinal": true, "S231P:value": 600 }, { - "@id": "seq:Enable#truFalHol.y", - "S231P:isConnectedTo": { - "@id": "seq:Enable#and1.u1" - } - }, - { - "@id": "seq:Enable#u1SupFan", + "@id": "http://example.org#FromModelica.Enable.u1SupFan", "@type": "S231P:BooleanInput", "S231P:accessSpecifier": "public", "S231P:description": "Supply fan proven on", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":62},{\"x\":-260,\"y\":102}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":10},{\"x\":-100,\"y\":50}]}}}", "S231P:isConnectedTo": { - "@id": "seq:Enable#and1.u2" + "@id": "http://example.org#http://example.org#FromModelica.Enable.and1.u2" }, "S231P:label": "u1SupFan" }, { - "@id": "seq:Enable#uFreProSta", + "@id": "http://example.org#FromModelica.Enable.uFreProSta", "@type": "S231P:IntegerInput", "S231P:accessSpecifier": "public", "S231P:description": "Freeze protection stage status signal", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":22},{\"x\":-260,\"y\":62}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-10},{\"x\":-100,\"y\":30}]}}}", "S231P:isConnectedTo": { - "@id": "seq:Enable#intEqu.u1" + "@id": "http://example.org#http://example.org#FromModelica.Enable.intEqu.u1" }, "S231P:label": "uFreProSta" }, { - "@id": "seq:Enable#uOutDam_max", + "@id": "http://example.org#FromModelica.Enable.uOutDam_max", "@type": "S231P:RealInput", "qudt:hasUnit": { - "@id": "qudt:1" + "@id": "S231P:1" }, "S231P:accessSpecifier": "public", "S231P:description": "Maximum outdoor air damper position, output from damper position limits sequence", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":-58},{\"x\":-260,\"y\":-18}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-40},{\"x\":-100,\"y\":0}]}}}", "S231P:isConnectedTo": { - "@id": "seq:Enable#outDamSwitch.u3" + "@id": "http://example.org#http://example.org#FromModelica.Enable.outDamSwitch.u3" }, "S231P:label": "uOutDam_max", "S231P:max": 1, "S231P:min": 0 }, { - "@id": "seq:Enable#uOutDam_min", + "@id": "http://example.org#FromModelica.Enable.uOutDam_min", "@type": "S231P:RealInput", "qudt:hasUnit": { - "@id": "qudt:1" + "@id": "S231P:1" }, "S231P:accessSpecifier": "public", "S231P:description": "Minimum outdoor air damper position, output from damper position limits sequence", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":-98},{\"x\":-260,\"y\":-58}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-60},{\"x\":-100,\"y\":-20}]}}}", "S231P:isConnectedTo": { - "@id": "seq:Enable#outDamSwitch.u1" + "@id": "http://example.org#http://example.org#FromModelica.Enable.outDamSwitch.u1" }, "S231P:label": "uOutDam_min", "S231P:max": 1, "S231P:min": 0 }, { - "@id": "seq:Enable#uRetDam_max", + "@id": "http://example.org#FromModelica.Enable.uRetDam_max", "@type": "S231P:RealInput", "qudt:hasUnit": { - "@id": "qudt:1" + "@id": "S231P:1" }, "S231P:accessSpecifier": "public", "S231P:description": "Maximum return air damper position, output from damper position limits sequence", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":-178},{\"x\":-260,\"y\":-138}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-130},{\"x\":-100,\"y\":-90}]}}}", "S231P:isConnectedTo": [ { - "@id": "seq:Enable#maxRetDamSwitch.u3" + "@id": "http://example.org#http://example.org#FromModelica.Enable.maxRetDamSwitch.u3" }, { - "@id": "seq:Enable#retDamSwitch.u1" + "@id": "http://example.org#http://example.org#FromModelica.Enable.retDamSwitch.u1" } ], "S231P:label": "uRetDam_max", @@ -796,36 +883,36 @@ "S231P:min": 0 }, { - "@id": "seq:Enable#uRetDam_min", + "@id": "http://example.org#FromModelica.Enable.uRetDam_min", "@type": "S231P:RealInput", "qudt:hasUnit": { - "@id": "qudt:1" + "@id": "S231P:1" }, "S231P:accessSpecifier": "public", "S231P:description": "Minimum return air damper position, output from damper position limits sequence", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":-218},{\"x\":-260,\"y\":-178}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-150},{\"x\":-100,\"y\":-110}]}}}", "S231P:isConnectedTo": { - "@id": "seq:Enable#retDamSwitch.u3" + "@id": "http://example.org#http://example.org#FromModelica.Enable.retDamSwitch.u3" }, "S231P:label": "uRetDam_min", "S231P:max": 1, "S231P:min": 0 }, { - "@id": "seq:Enable#uRetDamPhy_max", + "@id": "http://example.org#FromModelica.Enable.uRetDamPhy_max", "@type": "S231P:RealInput", "qudt:hasUnit": { - "@id": "qudt:1" + "@id": "S231P:1" }, "S231P:accessSpecifier": "public", "S231P:description": "Physical maximum return air damper position, output from damper position limits sequence", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":-138},{\"x\":-260,\"y\":-98}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-110},{\"x\":-100,\"y\":-70}]}}}", "S231P:isConnectedTo": [ { - "@id": "seq:Enable#maxRetDamSwitch.u1" + "@id": "http://example.org#http://example.org#FromModelica.Enable.maxRetDamSwitch.u1" }, { - "@id": "seq:Enable#minRetDamSwitch.u1" + "@id": "http://example.org#http://example.org#FromModelica.Enable.minRetDamSwitch.u1" } ], "S231P:label": "uRetDamPhy_max", @@ -833,7 +920,7 @@ "S231P:min": 0 }, { - "@id": "seq:Enable#use_enthalpy", + "@id": "http://example.org#FromModelica.Enable.use_enthalpy", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Set to true to evaluate outdoor air (OA) enthalpy in addition to temperature", @@ -845,10 +932,10 @@ "S231P:value": true }, { - "@id": "seq:Enable#yOutDam_max", + "@id": "http://example.org#FromModelica.Enable.yOutDam_max", "@type": "S231P:RealOutput", "qudt:hasUnit": { - "@id": "qudt:1" + "@id": "S231P:1" }, "S231P:accessSpecifier": "public", "S231P:description": "Maximum outdoor air damper position", @@ -858,10 +945,10 @@ "S231P:min": 0 }, { - "@id": "seq:Enable#yRetDam_max", + "@id": "http://example.org#FromModelica.Enable.yRetDam_max", "@type": "S231P:RealOutput", "qudt:hasUnit": { - "@id": "qudt:1" + "@id": "S231P:1" }, "S231P:accessSpecifier": "public", "S231P:description": "Maximum return air damper position", @@ -871,10 +958,10 @@ "S231P:min": 0 }, { - "@id": "seq:Enable#yRetDam_min", + "@id": "http://example.org#FromModelica.Enable.yRetDam_min", "@type": "S231P:RealOutput", "qudt:hasUnit": { - "@id": "qudt:1" + "@id": "S231P:1" }, "S231P:accessSpecifier": "public", "S231P:description": "Minimum return air damper position", @@ -882,6 +969,157 @@ "S231P:label": "yRetDam_min", "S231P:max": 1, "S231P:min": 0 + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.and1.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.Enable.andEnaDis.u1" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.and2.u1", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.Enable.not2.y" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.and2.y", + "S231P:isConnectedTo": [ + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.maxRetDamSwitch.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.minRetDamSwitch.u2" + } + ] + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.and3.u2", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.Enable.delOutDamOsc.y" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.andEnaDis.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.Enable.not2.u" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.conInt.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.Enable.intEqu.u2" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.delOutDamOsc.u", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.Enable.not2.y" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.delRetDam.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.Enable.not1.u" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.entSubst1.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.Enable.or2.u2" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.hysOutEnt.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.Enable.or2.u2" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.hysOutTem.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.Enable.or2.u1" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.intEqu.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.Enable.andEnaDis.u2" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.maxRetDamSwitch.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.yRetDam_max" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.minRetDamSwitch.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.yRetDam_min" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.not1.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.Enable.and2.u2" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.not2.y", + "S231P:isConnectedTo": [ + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.and3.u1" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.delRetDam.u" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.retDamSwitch.u2" + } + ] + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.or2.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.Enable.truFalHol.u" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.outDamSwitch.u2", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.Enable.and3.y" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.outDamSwitch.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.yOutDam_max" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.retDamSwitch.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.Enable.minRetDamSwitch.u3" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.sub1.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.Enable.hysOutTem.u" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.sub2.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.Enable.hysOutEnt.u" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.Enable.truFalHol.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#http://example.org#FromModelica.Enable.and1.u1" + } } ] } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MisplacedInfoWithComponent.jsonld b/test/reference/cxf/test/FromModelica/MisplacedInfoWithComponent.jsonld index f09e5c37..7af1dc12 100644 --- a/test/reference/cxf/test/FromModelica/MisplacedInfoWithComponent.jsonld +++ b/test/reference/cxf/test/FromModelica/MisplacedInfoWithComponent.jsonld @@ -1,18 +1,19 @@ { "@context": { - "S231P": "https://data.ashrae.org/S231P#" + "S231P": "https://data.ashrae.org/S231P#", + "ex": "http://example.org#" }, "@graph": [ { - "@id": "seq:MisplacedInfoWithComponent", + "@id": "http://example.org#FromModelica.MisplacedInfoWithComponent", "@type": "S231P:Block", "S231P:containsBlock": { - "@id": "seq:MisplacedInfoWithComponent#bloPub" + "@id": "http://example.org#FromModelica.MisplacedInfoWithComponent.bloPub" } }, { - "@id": "seq:MisplacedInfoWithComponent#bloPub", - "@type": "seq:Block1", + "@id": "http://example.org#FromModelica.MisplacedInfoWithComponent.bloPub", + "@type": "ex:Block1", "S231P:accessSpecifier": "public", "S231P:description": "A public block", "S231P:graphics": "{\"name\":\"Documentation\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"info\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"\\n

\\nThis is the info section.\\n

\\n\\\"\"}}}}}]}}", diff --git a/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld b/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld index add8e97d..c339707b 100644 --- a/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld +++ b/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld @@ -4,47 +4,52 @@ }, "@graph": [ { - "@id": "seq:MisplacedInfoWithEquation", + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation", "@type": "S231P:Block", "S231P:containsBlock": { - "@id": "seq:MisplacedInfoWithEquation#gain" + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.gain" }, "S231P:hasInput": { - "@id": "seq:MisplacedInfoWithEquation#u" + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.u" }, "S231P:hasOutput": [ { - "@id": "seq:MisplacedInfoWithEquation#y1" + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.y1" }, { - "@id": "seq:MisplacedInfoWithEquation#y2" + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.y2" } ], "S231P:hasParameter": { - "@id": "seq:MisplacedInfoWithEquation#k" + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.k" } }, { - "@id": "seq:MisplacedInfoWithEquation#gain", + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.gain", "@type": "https://data.ashrae.org/S231P#CXF.Reals.MultiplyByParameter", "S231P:accessSpecifier": "public", "S231P:description": "Constant gain", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":0,\"y\":-10},{\"x\":20,\"y\":10}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.gain.k" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.MisplacedInfoWithEquation.gain.u" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.MisplacedInfoWithEquation.gain.y" + } + ], "S231P:label": "gain" }, { - "@id": "seq:MisplacedInfoWithEquation#gain.k", + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.gain.k", "S231P:isFinal": true, "S231P:value": "k" }, { - "@id": "seq:MisplacedInfoWithEquation#gain.y", - "S231P:isConnectedTo": { - "@id": "seq:MisplacedInfoWithEquation#y1" - } - }, - { - "@id": "seq:MisplacedInfoWithEquation#k", + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.k", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Constant gain", @@ -55,18 +60,18 @@ "S231P:value": 2 }, { - "@id": "seq:MisplacedInfoWithEquation#u", + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.u", "@type": "S231P:RealInput", "S231P:accessSpecifier": "public", "S231P:description": "Input signal", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":20},{\"x\":-100,\"y\":60}]}}}", "S231P:isConnectedTo": { - "@id": "seq:MisplacedInfoWithEquation#gain.u" + "@id": "http://example.org#http://example.org#FromModelica.MisplacedInfoWithEquation.gain.u" }, "S231P:label": "u" }, { - "@id": "seq:MisplacedInfoWithEquation#y1", + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.y1", "@type": "S231P:RealOutput", "S231P:accessSpecifier": "public", "S231P:description": "Output signal", @@ -74,12 +79,18 @@ "S231P:label": "y1" }, { - "@id": "seq:MisplacedInfoWithEquation#y2", + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.y2", "@type": "S231P:RealOutput", "S231P:accessSpecifier": "public", "S231P:description": "Output signal", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-10},{\"x\":120,\"y\":10}]}}}", "S231P:label": "y2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.MisplacedInfoWithEquation.gain.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.y1" + } } ] } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld b/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld index 755c77e2..d1ee60d8 100644 --- a/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld +++ b/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld @@ -4,14 +4,14 @@ }, "@graph": [ { - "@id": "seq:MisplacedInfoWithParameter", + "@id": "http://example.org#FromModelica.MisplacedInfoWithParameter", "@type": "S231P:Block", "S231P:hasParameter": { - "@id": "seq:MisplacedInfoWithParameter#kP" + "@id": "http://example.org#FromModelica.MisplacedInfoWithParameter.kP" } }, { - "@id": "seq:MisplacedInfoWithParameter#kP", + "@id": "http://example.org#FromModelica.MisplacedInfoWithParameter.kP", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", diff --git a/test/reference/cxf/test/FromModelica/MyController.jsonld b/test/reference/cxf/test/FromModelica/MyController.jsonld index 0fead6af..b6d0f9b0 100644 --- a/test/reference/cxf/test/FromModelica/MyController.jsonld +++ b/test/reference/cxf/test/FromModelica/MyController.jsonld @@ -1,69 +1,81 @@ { "@context": { - "S231P": "https://data.ashrae.org/S231P#" + "S231P": "https://data.ashrae.org/S231P#", + "ex": "http://example.org#" }, "@graph": [ { - "@id": "seq:MyController", + "@id": "http://example.org#FromModelica.MyController", "@type": "S231P:Block", "S231P:containsBlock": [ { - "@id": "seq:MyController#add2" + "@id": "http://example.org#FromModelica.MyController.add2" }, { - "@id": "seq:MyController#subCon1" + "@id": "http://example.org#FromModelica.MyController.subCon1" }, { - "@id": "seq:MyController#subCon2" + "@id": "http://example.org#FromModelica.MyController.subCon2" } ], "S231P:hasInput": [ { - "@id": "seq:MyController#u1" + "@id": "http://example.org#FromModelica.MyController.u1" }, { - "@id": "seq:MyController#u2" + "@id": "http://example.org#FromModelica.MyController.u2" } ], "S231P:hasOutput": { - "@id": "seq:MyController#y" + "@id": "http://example.org#FromModelica.MyController.y" } }, { - "@id": "seq:MyController#add2", + "@id": "http://example.org#FromModelica.MyController.add2", "@type": "https://data.ashrae.org/S231P#CXF.Reals.Add", "S231P:accessSpecifier": "public", "S231P:description": "Add two real inputs", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-10},{\"x\":10,\"y\":10}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#http://example.org#FromModelica.MyController.add2.u1" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.MyController.add2.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.MyController.add2.y" + } + ], "S231P:label": "add2" }, { - "@id": "seq:MyController#add2.y", - "S231P:isConnectedTo": { - "@id": "seq:MyController#y" - } - }, - { - "@id": "seq:MyController#subCon1", - "@type": "seq:SubController", + "@id": "http://example.org#FromModelica.MyController.subCon1", + "@type": "ex:SubController", "S231P:accessSpecifier": "public", "S231P:description": "Sub controller", "S231P:graphics": [ "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-50},{\"x\":10,\"y\":-30}]}}}", "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"generatePointlist\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}" ], + "S231P:hasInstance": { + "@id": "http://example.org#http://example.org#FromModelica.MyController.subCon1.u" + }, "S231P:label": "subCon1" }, { - "@id": "seq:MyController#subCon2", - "@type": "seq:SubController", + "@id": "http://example.org#FromModelica.MyController.subCon2", + "@type": "ex:SubController", "S231P:accessSpecifier": "public", "S231P:description": "Sub controller", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-90},{\"x\":10,\"y\":-70}]}}}", + "S231P:hasInstance": { + "@id": "http://example.org#http://example.org#FromModelica.MyController.subCon2.u" + }, "S231P:label": "subCon2" }, { - "@id": "seq:MyController#u1", + "@id": "http://example.org#FromModelica.MyController.u1", "@type": "S231P:RealInput", "S231P:accessSpecifier": "public", "S231P:description": "Real input 1", @@ -72,12 +84,12 @@ "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" ], "S231P:isConnectedTo": { - "@id": "seq:MyController#add2.u1" + "@id": "http://example.org#http://example.org#FromModelica.MyController.add2.u1" }, "S231P:label": "u1" }, { - "@id": "seq:MyController#u2", + "@id": "http://example.org#FromModelica.MyController.u2", "@type": "S231P:RealInput", "S231P:accessSpecifier": "public", "S231P:description": "Real input 2", @@ -87,19 +99,19 @@ ], "S231P:isConnectedTo": [ { - "@id": "seq:MyController#add2.u2" + "@id": "http://example.org#http://example.org#FromModelica.MyController.add2.u2" }, { - "@id": "seq:MyController#subCon1.u" + "@id": "http://example.org#http://example.org#FromModelica.MyController.subCon1.u" }, { - "@id": "seq:MyController#subCon2.u" + "@id": "http://example.org#http://example.org#FromModelica.MyController.subCon2.u" } ], "S231P:label": "u2" }, { - "@id": "seq:MyController#y", + "@id": "http://example.org#FromModelica.MyController.y", "@type": "S231P:RealOutput", "S231P:accessSpecifier": "public", "S231P:description": "Real output", @@ -108,6 +120,12 @@ "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" ], "S231P:label": "y" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.MyController.add2.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.MyController.y" + } } ] } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld b/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld index 4e982732..3cfdfaa7 100644 --- a/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld +++ b/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld @@ -1,69 +1,81 @@ { "@context": { - "S231P": "https://data.ashrae.org/S231P#" + "S231P": "https://data.ashrae.org/S231P#", + "ex": "http://example.org#" }, "@graph": [ { - "@id": "seq:MyControllerWithExportAnnotation1", + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1", "@type": "S231P:Block", "S231P:containsBlock": [ { - "@id": "seq:MyControllerWithExportAnnotation1#add2" + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2" }, { - "@id": "seq:MyControllerWithExportAnnotation1#subCon1" + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.subCon1" }, { - "@id": "seq:MyControllerWithExportAnnotation1#subCon2" + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.subCon2" } ], "S231P:hasInput": [ { - "@id": "seq:MyControllerWithExportAnnotation1#u1" + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.u1" }, { - "@id": "seq:MyControllerWithExportAnnotation1#u2" + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.u2" } ], "S231P:hasOutput": { - "@id": "seq:MyControllerWithExportAnnotation1#y" + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.y" } }, { - "@id": "seq:MyControllerWithExportAnnotation1#add2", + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2", "@type": "https://data.ashrae.org/S231P#CXF.Reals.Add", "S231P:accessSpecifier": "public", "S231P:description": "Add two real inputs", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-10},{\"x\":10,\"y\":10}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2.u1" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2.y" + } + ], "S231P:label": "add2" }, { - "@id": "seq:MyControllerWithExportAnnotation1#add2.y", - "S231P:isConnectedTo": { - "@id": "seq:MyControllerWithExportAnnotation1#y" - } - }, - { - "@id": "seq:MyControllerWithExportAnnotation1#subCon1", - "@type": "seq:SubController", + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.subCon1", + "@type": "ex:SubController", "S231P:accessSpecifier": "public", "S231P:description": "Sub controller", "S231P:graphics": [ "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-50},{\"x\":10,\"y\":-30}]}}}", "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"generatePointlist\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"export\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}" ], + "S231P:hasInstance": { + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.subCon1.u" + }, "S231P:label": "subCon1" }, { - "@id": "seq:MyControllerWithExportAnnotation1#subCon2", - "@type": "seq:SubController", + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.subCon2", + "@type": "ex:SubController", "S231P:accessSpecifier": "public", "S231P:description": "Sub controller", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-90},{\"x\":10,\"y\":-70}]}}}", + "S231P:hasInstance": { + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.subCon2.u" + }, "S231P:label": "subCon2" }, { - "@id": "seq:MyControllerWithExportAnnotation1#u1", + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.u1", "@type": "S231P:RealInput", "S231P:accessSpecifier": "public", "S231P:description": "Real input 1", @@ -72,12 +84,12 @@ "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" ], "S231P:isConnectedTo": { - "@id": "seq:MyControllerWithExportAnnotation1#add2.u1" + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2.u1" }, "S231P:label": "u1" }, { - "@id": "seq:MyControllerWithExportAnnotation1#u2", + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.u2", "@type": "S231P:RealInput", "S231P:accessSpecifier": "public", "S231P:description": "Real input 2", @@ -87,19 +99,19 @@ ], "S231P:isConnectedTo": [ { - "@id": "seq:MyControllerWithExportAnnotation1#add2.u2" + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2.u2" }, { - "@id": "seq:MyControllerWithExportAnnotation1#subCon1.u" + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.subCon1.u" }, { - "@id": "seq:MyControllerWithExportAnnotation1#subCon2.u" + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.subCon2.u" } ], "S231P:label": "u2" }, { - "@id": "seq:MyControllerWithExportAnnotation1#y", + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.y", "@type": "S231P:RealOutput", "S231P:accessSpecifier": "public", "S231P:description": "Real output", @@ -108,6 +120,12 @@ "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" ], "S231P:label": "y" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.y" + } } ] } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld b/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld index fb49904a..b08f90f1 100644 --- a/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld +++ b/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld @@ -1,69 +1,81 @@ { "@context": { - "S231P": "https://data.ashrae.org/S231P#" + "S231P": "https://data.ashrae.org/S231P#", + "ex": "http://example.org#" }, "@graph": [ { - "@id": "seq:MyControllerWithSemantics", + "@id": "http://example.org#FromModelica.MyControllerWithSemantics", "@type": "S231P:Block", "S231P:containsBlock": [ { - "@id": "seq:MyControllerWithSemantics#add2" + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.add2" }, { - "@id": "seq:MyControllerWithSemantics#heaCoi" + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.heaCoi" }, { - "@id": "seq:MyControllerWithSemantics#subCon2" + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.subCon2" } ], "S231P:hasInput": [ { - "@id": "seq:MyControllerWithSemantics#u1" + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.u1" }, { - "@id": "seq:MyControllerWithSemantics#u2" + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.u2" } ], "S231P:hasOutput": { - "@id": "seq:MyControllerWithSemantics#y" + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.y" } }, { - "@id": "seq:MyControllerWithSemantics#add2", + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.add2", "@type": "https://data.ashrae.org/S231P#CXF.Reals.Add", "S231P:accessSpecifier": "public", "S231P:description": "Add two real inputs", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-10},{\"x\":10,\"y\":10}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.add2.u1" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.add2.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.add2.y" + } + ], "S231P:label": "add2" }, { - "@id": "seq:MyControllerWithSemantics#add2.y", - "S231P:isConnectedTo": { - "@id": "seq:MyControllerWithSemantics#y" - } - }, - { - "@id": "seq:MyControllerWithSemantics#heaCoi", - "@type": "seq:SubController", + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.heaCoi", + "@type": "ex:SubController", "S231P:accessSpecifier": "public", "S231P:description": "Heating Coil", "S231P:graphics": [ "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-50},{\"x\":10,\"y\":-30}]}}}", "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"generatePointlist\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"semantic\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"metadataLanguage\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Brick 1.3 text/turtle\\\"\"}},\"description_string\":\"bldg: a Brick:Heating_Coil .\"}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"naturalLanguage\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"en\\\"\"}},\"description_string\":\" is a heating coil.\"}}}]}}}}]}}" ], + "S231P:hasInstance": { + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.heaCoi.u" + }, "S231P:label": "heaCoi" }, { - "@id": "seq:MyControllerWithSemantics#subCon2", - "@type": "seq:SubControllerWithSemantics", + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.subCon2", + "@type": "ex:SubControllerWithSemantics", "S231P:accessSpecifier": "public", "S231P:description": "Cooling Coil", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-90},{\"x\":10,\"y\":-70}]}}}", + "S231P:hasInstance": { + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.subCon2.u" + }, "S231P:label": "subCon2" }, { - "@id": "seq:MyControllerWithSemantics#u1", + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.u1", "@type": "S231P:RealInput", "S231P:accessSpecifier": "public", "S231P:description": "Real input 1", @@ -72,12 +84,12 @@ "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"semantic\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"metadataLanguage\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Brick 1.3 text/turtle\\\"\"}},\"description_string\":\"bldg: a Brick:Temperature_Sensor .\"}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"naturalLanguage\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"en\\\"\"}},\"description_string\":\" is a temperature sensor input\"}}}]}}}}]}}" ], "S231P:isConnectedTo": { - "@id": "seq:MyControllerWithSemantics#add2.u1" + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.add2.u1" }, "S231P:label": "u1" }, { - "@id": "seq:MyControllerWithSemantics#u2", + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.u2", "@type": "S231P:RealInput", "S231P:accessSpecifier": "public", "S231P:description": "Real input 2", @@ -87,19 +99,19 @@ ], "S231P:isConnectedTo": [ { - "@id": "seq:MyControllerWithSemantics#add2.u2" + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.add2.u2" }, { - "@id": "seq:MyControllerWithSemantics#heaCoi.u" + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.heaCoi.u" }, { - "@id": "seq:MyControllerWithSemantics#subCon2.u" + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.subCon2.u" } ], "S231P:label": "u2" }, { - "@id": "seq:MyControllerWithSemantics#y", + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.y", "@type": "S231P:RealOutput", "S231P:accessSpecifier": "public", "S231P:description": "Real output", @@ -108,6 +120,12 @@ "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" ], "S231P:label": "y" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.add2.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.y" + } } ] } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/NoClassComment.jsonld b/test/reference/cxf/test/FromModelica/NoClassComment.jsonld index f28194ce..9f3dc091 100644 --- a/test/reference/cxf/test/FromModelica/NoClassComment.jsonld +++ b/test/reference/cxf/test/FromModelica/NoClassComment.jsonld @@ -4,14 +4,14 @@ }, "@graph": [ { - "@id": "seq:NoClassComment", + "@id": "http://example.org#FromModelica.NoClassComment", "@type": "S231P:Block", "S231P:hasParameter": { - "@id": "seq:NoClassComment#kP" + "@id": "http://example.org#FromModelica.NoClassComment.kP" } }, { - "@id": "seq:NoClassComment#kP", + "@id": "http://example.org#FromModelica.NoClassComment.kP", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", diff --git a/test/reference/cxf/test/FromModelica/NoWithin.jsonld b/test/reference/cxf/test/FromModelica/NoWithin.jsonld index 07878247..ad246e45 100644 --- a/test/reference/cxf/test/FromModelica/NoWithin.jsonld +++ b/test/reference/cxf/test/FromModelica/NoWithin.jsonld @@ -1,16 +1,18 @@ { "@context": { + "ex": "http://example.org#", "S231P": "https://data.ashrae.org/S231P#" }, "@graph": [ { - "@id": "seq:FromModelica", + "@id": "ex:NoWithin", + "@type": "S231P:Block", "S231P:hasConstant": { - "@id": "seq:FromModelica#one" + "@id": "http://example.org#NoWithin.one" } }, { - "@id": "seq:FromModelica#one", + "@id": "http://example.org#NoWithin.one", "@type": "S231P:Constant", "S231P:accessSpecifier": "public", "S231P:description": "An integer constant with value 1", @@ -19,10 +21,6 @@ }, "S231P:label": "one", "S231P:value": 1 - }, - { - "@id": "seq:NoWithin", - "@type": "S231P:Block" } ] } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/Parameter1.jsonld b/test/reference/cxf/test/FromModelica/Parameter1.jsonld index 9cdb9bdc..f24c2a53 100644 --- a/test/reference/cxf/test/FromModelica/Parameter1.jsonld +++ b/test/reference/cxf/test/FromModelica/Parameter1.jsonld @@ -4,14 +4,14 @@ }, "@graph": [ { - "@id": "seq:Parameter1", + "@id": "http://example.org#FromModelica.Parameter1", "@type": "S231P:Block", "S231P:hasParameter": { - "@id": "seq:Parameter1#kP" + "@id": "http://example.org#FromModelica.Parameter1.kP" } }, { - "@id": "seq:Parameter1#kP", + "@id": "http://example.org#FromModelica.Parameter1.kP", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", diff --git a/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld b/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld index 24a894c2..8fa415cf 100644 --- a/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld +++ b/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld @@ -4,14 +4,14 @@ }, "@graph": [ { - "@id": "seq:Parameter1WithVendorAnnotation", + "@id": "http://example.org#FromModelica.Parameter1WithVendorAnnotation", "@type": "S231P:Block", "S231P:hasParameter": { - "@id": "seq:Parameter1WithVendorAnnotation#kP" + "@id": "http://example.org#FromModelica.Parameter1WithVendorAnnotation.kP" } }, { - "@id": "seq:Parameter1WithVendorAnnotation#kP", + "@id": "http://example.org#FromModelica.Parameter1WithVendorAnnotation.kP", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", diff --git a/test/reference/cxf/test/FromModelica/Parameter2.jsonld b/test/reference/cxf/test/FromModelica/Parameter2.jsonld index 6d4d51b0..34919ac5 100644 --- a/test/reference/cxf/test/FromModelica/Parameter2.jsonld +++ b/test/reference/cxf/test/FromModelica/Parameter2.jsonld @@ -5,40 +5,40 @@ }, "@graph": [ { - "@id": "seq:Parameter2", + "@id": "http://example.org#FromModelica.Parameter2", "@type": "S231P:Block", "S231P:hasParameter": [ { - "@id": "seq:Parameter2#myPar1" + "@id": "http://example.org#FromModelica.Parameter2.myPar1" }, { - "@id": "seq:Parameter2#myParInGroup" + "@id": "http://example.org#FromModelica.Parameter2.myParInGroup" }, { - "@id": "seq:Parameter2#myParInTab" + "@id": "http://example.org#FromModelica.Parameter2.myParInTab" }, { - "@id": "seq:Parameter2#myParInTabInGroup1" + "@id": "http://example.org#FromModelica.Parameter2.myParInTabInGroup1" }, { - "@id": "seq:Parameter2#myParInTabInGroup2" + "@id": "http://example.org#FromModelica.Parameter2.myParInTabInGroup2" }, { - "@id": "seq:Parameter2#myParMax" + "@id": "http://example.org#FromModelica.Parameter2.myParMax" }, { - "@id": "seq:Parameter2#myParMin" + "@id": "http://example.org#FromModelica.Parameter2.myParMin" }, { - "@id": "seq:Parameter2#myParNoValue" + "@id": "http://example.org#FromModelica.Parameter2.myParNoValue" }, { - "@id": "seq:Parameter2#myParUnit" + "@id": "http://example.org#FromModelica.Parameter2.myParUnit" } ] }, { - "@id": "seq:Parameter2#myPar1", + "@id": "http://example.org#FromModelica.Parameter2.myPar1", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", @@ -49,7 +49,7 @@ "S231P:value": 1 }, { - "@id": "seq:Parameter2#myParInGroup", + "@id": "http://example.org#FromModelica.Parameter2.myParInGroup", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", @@ -60,7 +60,7 @@ "S231P:label": "myParInGroup" }, { - "@id": "seq:Parameter2#myParInTab", + "@id": "http://example.org#FromModelica.Parameter2.myParInTab", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", @@ -71,7 +71,7 @@ "S231P:label": "myParInTab" }, { - "@id": "seq:Parameter2#myParInTabInGroup1", + "@id": "http://example.org#FromModelica.Parameter2.myParInTabInGroup1", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment 1", @@ -82,7 +82,7 @@ "S231P:label": "myParInTabInGroup1" }, { - "@id": "seq:Parameter2#myParInTabInGroup2", + "@id": "http://example.org#FromModelica.Parameter2.myParInTabInGroup2", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment 2", @@ -93,7 +93,7 @@ "S231P:label": "myParInTabInGroup2" }, { - "@id": "seq:Parameter2#myParMax", + "@id": "http://example.org#FromModelica.Parameter2.myParMax", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", @@ -104,7 +104,7 @@ "S231P:max": 0 }, { - "@id": "seq:Parameter2#myParMin", + "@id": "http://example.org#FromModelica.Parameter2.myParMin", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", @@ -115,7 +115,7 @@ "S231P:min": 0 }, { - "@id": "seq:Parameter2#myParNoValue", + "@id": "http://example.org#FromModelica.Parameter2.myParNoValue", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", @@ -125,10 +125,10 @@ "S231P:label": "myParNoValue" }, { - "@id": "seq:Parameter2#myParUnit", + "@id": "http://example.org#FromModelica.Parameter2.myParUnit", "@type": "S231P:Parameter", "qudt:hasUnit": { - "@id": "qudt:K" + "@id": "S231P:K" }, "S231P:accessSpecifier": "public", "S231P:description": "Some comment", diff --git a/test/reference/cxf/test/FromModelica/Parameter3.jsonld b/test/reference/cxf/test/FromModelica/Parameter3.jsonld index f643088a..c420c2b7 100644 --- a/test/reference/cxf/test/FromModelica/Parameter3.jsonld +++ b/test/reference/cxf/test/FromModelica/Parameter3.jsonld @@ -4,19 +4,19 @@ }, "@graph": [ { - "@id": "seq:Parameter3", + "@id": "http://example.org#FromModelica.Parameter3", "@type": "S231P:Block", "S231P:hasParameter": [ { - "@id": "seq:Parameter3#myPar1" + "@id": "http://example.org#FromModelica.Parameter3.myPar1" }, { - "@id": "seq:Parameter3#myParUnit" + "@id": "http://example.org#FromModelica.Parameter3.myParUnit" } ] }, { - "@id": "seq:Parameter3#myPar1", + "@id": "http://example.org#FromModelica.Parameter3.myPar1", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", @@ -27,7 +27,7 @@ "S231P:value": 1 }, { - "@id": "seq:Parameter3#myParUnit", + "@id": "http://example.org#FromModelica.Parameter3.myParUnit", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", "S231P:label": "myParUnit" diff --git a/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld index 5c72154a..666b9b90 100644 --- a/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld +++ b/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld @@ -5,24 +5,27 @@ }, "@graph": [ { - "@id": "seq:ParameterWithAttributes", + "@id": "http://example.org#FromModelica.ParameterWithAttributes", "@type": "S231P:Block", "S231P:hasParameter": { - "@id": "seq:ParameterWithAttributes#kP" + "@id": "http://example.org#FromModelica.ParameterWithAttributes.kP" } }, { - "@id": "seq:ParameterWithAttributes#kP", + "@id": "http://example.org#FromModelica.ParameterWithAttributes.kP", "@type": "S231P:Parameter", "qudt:hasQuantityKind": { - "@id": "qudt:PressureDifference" + "@id": "S231P:PressureDifference" }, "qudt:hasUnit": { - "@id": "qudt:Pa" + "@id": "S231P:Pa" }, "S231P:accessSpecifier": "public", "S231P:description": "Some comment", "S231P:fixed": false, + "S231P:hasInstance": { + "@id": "http://example.org#FromModelica.ParameterWithAttributes.kP.stateSelect" + }, "S231P:isOfDataType": { "@id": "S231P:Real" }, @@ -40,7 +43,7 @@ "S231P:value": 1 }, { - "@id": "seq:ParameterWithAttributes#kP.stateSelect", + "@id": "http://example.org#FromModelica.ParameterWithAttributes.kP.stateSelect", "S231P:value": "StateSelect.default" } ] diff --git a/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld index 7924458a..ee5a1bff 100644 --- a/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld +++ b/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld @@ -4,14 +4,14 @@ }, "@graph": [ { - "@id": "seq:ParameterWithDefaultName", + "@id": "http://example.org#FromModelica.ParameterWithDefaultName", "@type": "S231P:Block", "S231P:hasParameter": { - "@id": "seq:ParameterWithDefaultName#kP" + "@id": "http://example.org#FromModelica.ParameterWithDefaultName.kP" } }, { - "@id": "seq:ParameterWithDefaultName#kP", + "@id": "http://example.org#FromModelica.ParameterWithDefaultName.kP", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", diff --git a/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld index 1d577b43..0a06d438 100644 --- a/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld +++ b/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld @@ -4,14 +4,14 @@ }, "@graph": [ { - "@id": "seq:ParameterWithInfo", + "@id": "http://example.org#FromModelica.ParameterWithInfo", "@type": "S231P:Block", "S231P:hasParameter": { - "@id": "seq:ParameterWithInfo#kP" + "@id": "http://example.org#FromModelica.ParameterWithInfo.kP" } }, { - "@id": "seq:ParameterWithInfo#kP", + "@id": "http://example.org#FromModelica.ParameterWithInfo.kP", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", diff --git a/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld index 50248f61..be7664a6 100644 --- a/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld +++ b/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld @@ -4,14 +4,14 @@ }, "@graph": [ { - "@id": "seq:ParameterWithVendorAnnotationInInfo", + "@id": "http://example.org#FromModelica.ParameterWithVendorAnnotationInInfo", "@type": "S231P:Block", "S231P:hasParameter": { - "@id": "seq:ParameterWithVendorAnnotationInInfo#kP" + "@id": "http://example.org#FromModelica.ParameterWithVendorAnnotationInInfo.kP" } }, { - "@id": "seq:ParameterWithVendorAnnotationInInfo#kP", + "@id": "http://example.org#FromModelica.ParameterWithVendorAnnotationInInfo.kP", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Some comment", diff --git a/test/reference/cxf/test/FromModelica/PointList.jsonld b/test/reference/cxf/test/FromModelica/PointList.jsonld index 54c9ebd7..8c7101d0 100644 --- a/test/reference/cxf/test/FromModelica/PointList.jsonld +++ b/test/reference/cxf/test/FromModelica/PointList.jsonld @@ -1,72 +1,83 @@ { "@context": { - "S231P": "https://data.ashrae.org/S231P#" + "S231P": "https://data.ashrae.org/S231P#", + "ex": "http://example.org#" }, "@graph": [ { - "@id": "seq:PointList", + "@id": "http://example.org#FromModelica.PointList", "@type": "S231P:Block", "S231P:containsBlock": [ { - "@id": "seq:PointList#con1" + "@id": "http://example.org#FromModelica.PointList.con1" }, { - "@id": "seq:PointList#con2" + "@id": "http://example.org#FromModelica.PointList.con2" } ], "S231P:hasInput": [ { - "@id": "seq:PointList#u1" + "@id": "http://example.org#FromModelica.PointList.u1" }, { - "@id": "seq:PointList#u2" + "@id": "http://example.org#FromModelica.PointList.u2" } ], "S231P:hasOutput": [ { - "@id": "seq:PointList#y1" + "@id": "http://example.org#FromModelica.PointList.y1" }, { - "@id": "seq:PointList#y2" + "@id": "http://example.org#FromModelica.PointList.y2" } ] }, { - "@id": "seq:PointList#con1", - "@type": "seq:MyController", + "@id": "http://example.org#FromModelica.PointList.con1", + "@type": "ex:MyController", "S231P:accessSpecifier": "public", "S231P:description": "Subcontroller one", "S231P:graphics": [ "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":50},{\"x\":10,\"y\":70}]}}}", "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"propagate\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"instance\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"subCon1\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"generatePointlist\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"propagate\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"instance\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"subCon2\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"generatePointlist\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"propagate\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"instance\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"subCon2.u\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"120\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}}}]}}" ], + "S231P:hasInstance": [ + { + "@id": "http://example.org#http://example.org#FromModelica.PointList.con1.u1" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.PointList.con1.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.PointList.con1.y" + } + ], "S231P:label": "con1" }, { - "@id": "seq:PointList#con1.y", - "S231P:isConnectedTo": { - "@id": "seq:PointList#y2" - } - }, - { - "@id": "seq:PointList#con2", - "@type": "seq:MyController", + "@id": "http://example.org#FromModelica.PointList.con2", + "@type": "ex:MyController", "S231P:accessSpecifier": "public", "S231P:description": "Subcontroller two", "S231P:graphics": [ "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-70},{\"x\":10,\"y\":-50}]}}}", "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"generatePointlist\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}" ], + "S231P:hasInstance": [ + { + "@id": "http://example.org#http://example.org#FromModelica.PointList.con2.u1" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.PointList.con2.u2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.PointList.con2.y" + } + ], "S231P:label": "con2" }, { - "@id": "seq:PointList#con2.y", - "S231P:isConnectedTo": { - "@id": "seq:PointList#y1" - } - }, - { - "@id": "seq:PointList#u1", + "@id": "http://example.org#FromModelica.PointList.u1", "@type": "S231P:RealInput", "S231P:accessSpecifier": "public", "S231P:description": "Input one", @@ -76,16 +87,16 @@ ], "S231P:isConnectedTo": [ { - "@id": "seq:PointList#con1.u1" + "@id": "http://example.org#http://example.org#FromModelica.PointList.con1.u1" }, { - "@id": "seq:PointList#con2.u1" + "@id": "http://example.org#http://example.org#FromModelica.PointList.con2.u1" } ], "S231P:label": "u1" }, { - "@id": "seq:PointList#u2", + "@id": "http://example.org#FromModelica.PointList.u2", "@type": "S231P:RealInput", "S231P:accessSpecifier": "public", "S231P:description": "Input two", @@ -95,16 +106,16 @@ ], "S231P:isConnectedTo": [ { - "@id": "seq:PointList#con1.u2" + "@id": "http://example.org#http://example.org#FromModelica.PointList.con1.u2" }, { - "@id": "seq:PointList#con2.u2" + "@id": "http://example.org#http://example.org#FromModelica.PointList.con2.u2" } ], "S231P:label": "u2" }, { - "@id": "seq:PointList#y1", + "@id": "http://example.org#FromModelica.PointList.y1", "@type": "S231P:RealOutput", "S231P:accessSpecifier": "public", "S231P:description": "Output one", @@ -115,7 +126,7 @@ "S231P:label": "y1" }, { - "@id": "seq:PointList#y2", + "@id": "http://example.org#FromModelica.PointList.y2", "@type": "S231P:RealOutput", "S231P:accessSpecifier": "public", "S231P:description": "Output two", @@ -124,6 +135,18 @@ "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"false\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" ], "S231P:label": "y2" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.PointList.con1.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.PointList.y2" + } + }, + { + "@id": "http://example.org#http://example.org#FromModelica.PointList.con2.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.PointList.y1" + } } ] } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld b/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld index 504d9016..3c0fc636 100644 --- a/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld +++ b/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld @@ -5,45 +5,45 @@ }, "@graph": [ { - "@id": "seq:RemovableInputs", + "@id": "http://example.org#FromModelica.RemovableInputs", "@type": "S231P:Block", "S231P:containsBlock": { - "@id": "seq:RemovableInputs#abs" + "@id": "http://example.org#FromModelica.RemovableInputs.abs" }, "S231P:hasInput": [ { - "@id": "seq:RemovableInputs#nOcc" + "@id": "http://example.org#FromModelica.RemovableInputs.nOcc" }, { - "@id": "seq:RemovableInputs#TOut" + "@id": "http://example.org#FromModelica.RemovableInputs.TOut" }, { - "@id": "seq:RemovableInputs#TOutWitDef" + "@id": "http://example.org#FromModelica.RemovableInputs.TOutWitDef" }, { - "@id": "seq:RemovableInputs#u" + "@id": "http://example.org#FromModelica.RemovableInputs.u" }, { - "@id": "seq:RemovableInputs#uWin" + "@id": "http://example.org#FromModelica.RemovableInputs.uWin" } ], "S231P:hasOutput": { - "@id": "seq:RemovableInputs#y" + "@id": "http://example.org#FromModelica.RemovableInputs.y" }, "S231P:hasParameter": [ { - "@id": "seq:RemovableInputs#enaBlo" + "@id": "http://example.org#FromModelica.RemovableInputs.enaBlo" }, { - "@id": "seq:RemovableInputs#have_occSen" + "@id": "http://example.org#FromModelica.RemovableInputs.have_occSen" }, { - "@id": "seq:RemovableInputs#have_winSen" + "@id": "http://example.org#FromModelica.RemovableInputs.have_winSen" } ] }, { - "@id": "seq:RemovableInputs#abs", + "@id": "http://example.org#FromModelica.RemovableInputs.abs", "@type": "https://data.ashrae.org/S231P#CXF.Reals.Abs", "S231P:accessSpecifier": "public", "S231P:description": "Instance could be conditional disabled", @@ -51,7 +51,7 @@ "S231P:label": "abs" }, { - "@id": "seq:RemovableInputs#enaBlo", + "@id": "http://example.org#FromModelica.RemovableInputs.enaBlo", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Flag for enabling instance", @@ -62,7 +62,7 @@ "S231P:value": true }, { - "@id": "seq:RemovableInputs#have_occSen", + "@id": "http://example.org#FromModelica.RemovableInputs.have_occSen", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "True: there is occupancy sensor", @@ -72,7 +72,7 @@ "S231P:label": "have_occSen" }, { - "@id": "seq:RemovableInputs#have_winSen", + "@id": "http://example.org#FromModelica.RemovableInputs.have_winSen", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "True: there is window status sensor", @@ -82,7 +82,7 @@ "S231P:label": "have_winSen" }, { - "@id": "seq:RemovableInputs#nOcc", + "@id": "http://example.org#FromModelica.RemovableInputs.nOcc", "@type": "S231P:IntegerInput", "S231P:accessSpecifier": "public", "S231P:description": "Occupancy", @@ -90,13 +90,13 @@ "S231P:label": "nOcc" }, { - "@id": "seq:RemovableInputs#TOut", + "@id": "http://example.org#FromModelica.RemovableInputs.TOut", "@type": "S231P:RealInput", "qudt:hasQuantityKind": { - "@id": "qudt:ThermodynamicTemperature" + "@id": "S231P:ThermodynamicTemperature" }, "qudt:hasUnit": { - "@id": "qudt:K" + "@id": "S231P:K" }, "S231P:accessSpecifier": "public", "S231P:description": "Temperature input", @@ -104,13 +104,13 @@ "S231P:label": "TOut" }, { - "@id": "seq:RemovableInputs#TOutWitDef", + "@id": "http://example.org#FromModelica.RemovableInputs.TOutWitDef", "@type": "S231P:RealInput", "qudt:hasQuantityKind": { - "@id": "qudt:ThermodynamicTemperature" + "@id": "S231P:ThermodynamicTemperature" }, "qudt:hasUnit": { - "@id": "qudt:K" + "@id": "S231P:K" }, "S231P:accessSpecifier": "public", "S231P:description": "Temperature input with specified default value", @@ -121,7 +121,7 @@ "S231P:label": "TOutWitDef" }, { - "@id": "seq:RemovableInputs#u", + "@id": "http://example.org#FromModelica.RemovableInputs.u", "@type": "S231P:RealInput", "S231P:accessSpecifier": "public", "S231P:description": "Input connector", @@ -129,7 +129,7 @@ "S231P:label": "u" }, { - "@id": "seq:RemovableInputs#uWin", + "@id": "http://example.org#FromModelica.RemovableInputs.uWin", "@type": "S231P:BooleanInput", "S231P:accessSpecifier": "public", "S231P:description": "Window opening status", @@ -137,7 +137,7 @@ "S231P:label": "uWin" }, { - "@id": "seq:RemovableInputs#y", + "@id": "http://example.org#FromModelica.RemovableInputs.y", "@type": "S231P:RealOutput", "S231P:accessSpecifier": "public", "S231P:description": "Output connector", diff --git a/test/reference/cxf/test/FromModelica/SubController.jsonld b/test/reference/cxf/test/FromModelica/SubController.jsonld index cebc1870..494e9fce 100644 --- a/test/reference/cxf/test/FromModelica/SubController.jsonld +++ b/test/reference/cxf/test/FromModelica/SubController.jsonld @@ -4,17 +4,17 @@ }, "@graph": [ { - "@id": "seq:SubController", + "@id": "http://example.org#FromModelica.SubController", "@type": "S231P:Block", "S231P:hasInput": { - "@id": "seq:SubController#u" + "@id": "http://example.org#FromModelica.SubController.u" }, "S231P:hasOutput": { - "@id": "seq:SubController#y" + "@id": "http://example.org#FromModelica.SubController.y" } }, { - "@id": "seq:SubController#u", + "@id": "http://example.org#FromModelica.SubController.u", "@type": "S231P:RealInput", "S231P:accessSpecifier": "public", "S231P:description": "Real input", @@ -25,7 +25,7 @@ "S231P:label": "u" }, { - "@id": "seq:SubController#y", + "@id": "http://example.org#FromModelica.SubController.y", "@type": "S231P:RealOutput", "S231P:accessSpecifier": "public", "S231P:description": "Real output", diff --git a/test/reference/cxf/test/FromModelica/SubControllerWithSemantics.jsonld b/test/reference/cxf/test/FromModelica/SubControllerWithSemantics.jsonld index 558bcb12..ff5b2e27 100644 --- a/test/reference/cxf/test/FromModelica/SubControllerWithSemantics.jsonld +++ b/test/reference/cxf/test/FromModelica/SubControllerWithSemantics.jsonld @@ -4,17 +4,17 @@ }, "@graph": [ { - "@id": "seq:SubControllerWithSemantics", + "@id": "http://example.org#FromModelica.SubControllerWithSemantics", "@type": "S231P:Block", "S231P:hasInput": { - "@id": "seq:SubControllerWithSemantics#u" + "@id": "http://example.org#FromModelica.SubControllerWithSemantics.u" }, "S231P:hasOutput": { - "@id": "seq:SubControllerWithSemantics#y" + "@id": "http://example.org#FromModelica.SubControllerWithSemantics.y" } }, { - "@id": "seq:SubControllerWithSemantics#u", + "@id": "http://example.org#FromModelica.SubControllerWithSemantics.u", "@type": "S231P:RealInput", "S231P:accessSpecifier": "public", "S231P:description": "Real input", @@ -25,7 +25,7 @@ "S231P:label": "u" }, { - "@id": "seq:SubControllerWithSemantics#y", + "@id": "http://example.org#FromModelica.SubControllerWithSemantics.y", "@type": "S231P:RealOutput", "S231P:accessSpecifier": "public", "S231P:description": "Real output", diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld index 336fde0b..e2fcf09f 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld @@ -4,29 +4,32 @@ }, "@graph": [ { - "@id": "seq:TestEvaluation_1", + "@id": "http://example.org#FromModelica.TestEvaluation_1", "@type": "S231P:Block", "S231P:containsBlock": { - "@id": "seq:TestEvaluation_1#con" + "@id": "http://example.org#FromModelica.TestEvaluation_1.con" }, "S231P:hasParameter": { - "@id": "seq:TestEvaluation_1#k1" + "@id": "http://example.org#FromModelica.TestEvaluation_1.k1" } }, { - "@id": "seq:TestEvaluation_1#con", - "@type": "seq:Buildings.Controls.OBC.CDL.Reals.Sources.Constant", + "@id": "http://example.org#FromModelica.TestEvaluation_1.con", + "@type": "http://example.org#Buildings.Controls.OBC.CDL.Reals.Sources.Constant", "S231P:accessSpecifier": "public", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-20,\"y\":10},{\"x\":0,\"y\":30}]}}}", + "S231P:hasInstance": { + "@id": "http://example.org#FromModelica.TestEvaluation_1.con.k" + }, "S231P:label": "con" }, { - "@id": "seq:TestEvaluation_1#con.k", + "@id": "http://example.org#FromModelica.TestEvaluation_1.con.k", "S231P:isFinal": true, "S231P:value": "k1" }, { - "@id": "seq:TestEvaluation_1#k1", + "@id": "http://example.org#FromModelica.TestEvaluation_1.k1", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "Constant output value", diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld index ffc214fa..d366ed38 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld @@ -4,56 +4,58 @@ }, "@graph": [ { - "@id": "seq:TestEvaluation_2", + "@id": "http://example.org#FromModelica.TestEvaluation_2", "@type": "S231P:Block", "S231P:containsBlock": { - "@id": "seq:TestEvaluation_2#hys" + "@id": "http://example.org#FromModelica.TestEvaluation_2.hys" }, "S231P:hasInput": { - "@id": "seq:TestEvaluation_2#u" + "@id": "http://example.org#FromModelica.TestEvaluation_2.u" }, "S231P:hasOutput": { - "@id": "seq:TestEvaluation_2#y" + "@id": "http://example.org#FromModelica.TestEvaluation_2.y" }, "S231P:hasParameter": [ { - "@id": "seq:TestEvaluation_2#uHigh" + "@id": "http://example.org#FromModelica.TestEvaluation_2.uHigh" }, { - "@id": "seq:TestEvaluation_2#uLow" + "@id": "http://example.org#FromModelica.TestEvaluation_2.uLow" } ] }, { - "@id": "seq:TestEvaluation_2#hys", + "@id": "http://example.org#FromModelica.TestEvaluation_2.hys", "@type": "https://data.ashrae.org/S231P#CXF.Reals.Hysteresis", "S231P:accessSpecifier": "public", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-10},{\"x\":10,\"y\":10}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#FromModelica.TestEvaluation_2.hys.uHigh" + }, + { + "@id": "http://example.org#FromModelica.TestEvaluation_2.hys.uLow" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.TestEvaluation_2.hys.u" + }, + { + "@id": "http://example.org#http://example.org#FromModelica.TestEvaluation_2.hys.y" + } + ], "S231P:label": "hys" }, { - "@id": "seq:TestEvaluation_2#hys.u", - "S231P:isConnectedTo": { - "@id": "seq:TestEvaluation_2#u" - } - }, - { - "@id": "seq:TestEvaluation_2#hys.uHigh", + "@id": "http://example.org#FromModelica.TestEvaluation_2.hys.uHigh", "S231P:value": "uHigh" }, { - "@id": "seq:TestEvaluation_2#hys.uLow", + "@id": "http://example.org#FromModelica.TestEvaluation_2.hys.uLow", "S231P:isFinal": true, "S231P:value": "uLow" }, { - "@id": "seq:TestEvaluation_2#hys.y", - "S231P:isConnectedTo": { - "@id": "seq:TestEvaluation_2#y" - } - }, - { - "@id": "seq:TestEvaluation_2#u", + "@id": "http://example.org#FromModelica.TestEvaluation_2.u", "@type": "S231P:RealInput", "S231P:accessSpecifier": "public", "S231P:description": "Real input signal", @@ -61,7 +63,7 @@ "S231P:label": "u" }, { - "@id": "seq:TestEvaluation_2#uHigh", + "@id": "http://example.org#FromModelica.TestEvaluation_2.uHigh", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "if y=false and u>uHigh, switch to y=true", @@ -72,7 +74,7 @@ "S231P:value": "2*uLow" }, { - "@id": "seq:TestEvaluation_2#uLow", + "@id": "http://example.org#FromModelica.TestEvaluation_2.uLow", "@type": "S231P:Parameter", "S231P:accessSpecifier": "public", "S231P:description": "if y=true and u Date: Mon, 3 Jun 2024 10:38:34 -0700 Subject: [PATCH 20/25] adding hasInstance and fixing blocknames in cxf --- .gitignore | 2 + lib/cxfExtractor.js | 19 +- lib/parser.js | 2 +- test/FromModelica/GainOutputsTwo.mo | 21 + test/FromModelica/package.order | 1 + .../test/FromModelica/ConditionalBlock.jsonld | 2 +- .../FromModelica/CustomPWithLimiter.jsonld | 42 +- .../test/FromModelica/DynamicTextColor.jsonld | 2 +- .../cxf/test/FromModelica/Enable.jsonld | 490 +++---- .../test/FromModelica/GainOutputsTwo.jsonld | 86 ++ .../MisplacedInfoWithEquation.jsonld | 20 +- .../cxf/test/FromModelica/MyController.jsonld | 32 +- .../MyControllerWithExportAnnotation1.jsonld | 32 +- .../MyControllerWithSemantics.jsonld | 32 +- .../cxf/test/FromModelica/PointList.jsonld | 44 +- .../test/FromModelica/RemovableInputs.jsonld | 2 +- .../test/FromModelica/TestEvaluation_1.jsonld | 2 +- .../test/FromModelica/TestEvaluation_2.jsonld | 34 +- .../test/FromModelica/TestEvaluation_3.jsonld | 4 +- .../test/FromModelica/TestEvaluation_4.jsonld | 72 +- .../FromModelica/VariableModification.jsonld | 2 +- .../FromModelica/WithCDLElementary.jsonld | 2 +- .../Controls/OBC/CDL/Integers/Equal.json | 8 +- .../OBC/CDL/Integers/Sources/Constant.json | 4 +- .../Controls/OBC/CDL/Logical/And.json | 8 +- .../Controls/OBC/CDL/Logical/Not.json | 6 +- .../Controls/OBC/CDL/Logical/Or.json | 8 +- .../OBC/CDL/Logical/Sources/Constant.json | 4 +- .../Controls/OBC/CDL/Logical/TrueDelay.json | 6 +- .../OBC/CDL/Logical/TrueFalseHold.json | 6 +- .../OBC/CDL/Logical/TrueHoldWithReset.json | 1213 ----------------- .../Controls/OBC/CDL/Logical/package.json | 161 +++ .../Buildings/Controls/OBC/CDL/Reals/Abs.json | 6 +- .../Buildings/Controls/OBC/CDL/Reals/Add.json | 8 +- .../Controls/OBC/CDL/Reals/Greater.json | 20 +- .../Controls/OBC/CDL/Reals/Hysteresis.json | 6 +- .../Controls/OBC/CDL/Reals/Limiter.json | 6 +- .../Buildings/Controls/OBC/CDL/Reals/Min.json | 8 +- .../OBC/CDL/Reals/MultiplyByParameter.json | 6 +- .../OBC/CDL/Reals/Sources/Constant.json | 4 +- .../Controls/OBC/CDL/Reals/Subtract.json | 8 +- .../Controls/OBC/CDL/Reals/Switch.json | 10 +- .../test/FromModelica/GainOutputsTwo.json | 441 ++++++ .../test/FromModelica/GainOutputsTwo.json | 337 +++++ .../test/FromModelica/GainOutputsTwo.json | 1 + 45 files changed, 1536 insertions(+), 1694 deletions(-) create mode 100644 test/FromModelica/GainOutputsTwo.mo create mode 100644 test/reference/cxf/test/FromModelica/GainOutputsTwo.jsonld delete mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json create mode 100644 test/reference/json/Buildings/Controls/OBC/CDL/Logical/package.json create mode 100644 test/reference/json/test/FromModelica/GainOutputsTwo.json create mode 100644 test/reference/objects/test/FromModelica/GainOutputsTwo.json create mode 100644 test/reference/raw-json/test/FromModelica/GainOutputsTwo.json diff --git a/.gitignore b/.gitignore index bc7b5a4b..10e118d9 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,6 @@ modelica-json.log /models /outputs /objects +/cxf +.nyc_output .DS_Store diff --git a/lib/cxfExtractor.js b/lib/cxfExtractor.js index 7f7ef099..e05d74bc 100644 --- a/lib/cxfExtractor.js +++ b/lib/cxfExtractor.js @@ -51,7 +51,7 @@ function getCxfGraph (instances, requiredReferences, blockName, generateElementa blockNameWithPackage = within + '.' + blockName } - if (instanceDict === null) { + if (instanceDict === null || instanceDict === undefined) { // TODO: handle later } instanceType = instanceDict.type @@ -61,6 +61,9 @@ function getCxfGraph (instances, requiredReferences, blockName, generateElementa if (checkIfCdlElementaryBlock(within)) { isElementaryBlock = true if (generateCxfCore || generateElementary) { + if (generateCxfCore) { + // TODO: change blockName to CDL.xx.yy instead of Buildings.Controls.OBC.CDL.xx.yy + } graph.add(s231Ns(blockNameWithPackage), rdfNs('type'), s231Ns('ElementaryBlock')) newInstanceDict.cxfNode = s231Ns(blockNameWithPackage) } else { @@ -122,11 +125,10 @@ function getCxfGraph (instances, requiredReferences, blockName, generateElementa graph.add(blockNode, s231Ns('hasOutput'), instanceNode) const outputConnectorType = typeSpecifier.split('.').slice(-1)[0] graph.add(instanceNode, rdfNs('type'), s231Ns(outputConnectorType)) - } else if (typeSpecifier.split('.').slice(-3, -2)[0] !== undefined && typeSpecifier.split('.').slice(-3, -2)[0].toUpperCase() === 'CDL') { + } else if (typeSpecifier.split('.').length > 0 && checkIfCdlElementaryBlock(typeSpecifier)) { // is it elementary block graph.add(blockNode, s231Ns('containsBlock'), instanceNode) - const cxfElementaryBlockName = ['CXF'].concat(typeSpecifier.split('.').slice(-2)).join('.') - graph.add(instanceNode, rdfNs('type'), s231Ns(cxfElementaryBlockName)) + graph.add(instanceNode, rdfNs('type'), s231Ns(typeSpecifier)) } else { // TODO: how to distinguish between control sequences and models? graph.add(blockNode, s231Ns('containsBlock'), instanceNode) @@ -236,12 +238,15 @@ function getInstanceNode (graph, element, newInstances, s231Ns, cxfPrefix) { } if (instance in newInstances) { const instanceNode = newInstances[instance].cxfNode - const instancePackage = instanceNode.value.split('.').slice(0, -1).join('.') + const instancePackage = instanceNode.value.split('.').slice(0, -1).join('.').split('#')[1] + const instanceName = instanceNode.value.split('.').slice(-1)[0] const prefix = instanceNode.prefix if (prefix === 's231') { - node = s231Ns(`${instancePackage}.${instance}.${subInstance}`) + node = s231Ns(`${instancePackage}.${instanceName}.${subInstance}`) + // node = s231Ns(`${instanceName}.${subInstance}`) } else { - node = cxfPrefix(`${instancePackage}.${instance}.${subInstance}`) + node = cxfPrefix(`${instancePackage}.${instanceName}.${subInstance}`) + // node = cxfPrefix(`${instanceName}.${subInstance}`) } graph.add(instanceNode, s231Ns('hasInstance'), node) } else { diff --git a/lib/parser.js b/lib/parser.js index 605fb80a..90a30a34 100644 --- a/lib/parser.js +++ b/lib/parser.js @@ -47,7 +47,7 @@ function getJsons (moFiles, parseMode, outputFormat, directory, prettyPrint, gen const tempJsonDir = ut.createTempDir('json') const parsedFile = [] for (let i = 0; i < moFiles.length; i++) { - if ((generateCxfCore && !moFiles[i].split(path.sep).includes('Validation')) || !generateCxfCore) { + if ((outputFormat === 'cxf' && generateCxfCore && !moFiles[i].split(path.sep).includes('Validation')) || (outputFormat === 'cxf' && !generateCxfCore) || (outputFormat !== 'cxf')) { const fileList = getSimpleJson(moFiles[i], parseMode, tempJsonDir, parsedFile, outDir, prettyPrint, outputFormat, generateElementary, generateCxfCore) parsedFile.push(fileList) } diff --git a/test/FromModelica/GainOutputsTwo.mo b/test/FromModelica/GainOutputsTwo.mo new file mode 100644 index 00000000..a41a87f4 --- /dev/null +++ b/test/FromModelica/GainOutputsTwo.mo @@ -0,0 +1,21 @@ +within FromModelica; +model GainOutputsTwo + Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter gain(final k=1) + annotation (Placement(transformation(extent={{-18,-12},{2,8}}))); + Buildings.Controls.OBC.CDL.Interfaces.RealInput u2 + annotation (Placement(transformation(extent={{-122,-38},{-82,2}}))); + Buildings.Controls.OBC.CDL.Interfaces.RealOutput y2 + annotation (Placement(transformation(extent={{64,-56},{104,-16}}))); + Buildings.Controls.OBC.CDL.Interfaces.RealOutput y1 + annotation (Placement(transformation(extent={{64,14},{104,54}}))); +equation + connect(u2, gain.u) annotation (Line(points={{-102,-18},{-30,-18},{-30,-2},{ + -20,-2}},color={0,0,127})); + connect(y1, y1) annotation (Line(points={{84,34},{84,34}}, color={0,0,127})); + connect(gain.y, y1) + annotation (Line(points={{4,-2},{84,-2},{84,34}}, color={0,0,127})); + connect(gain.y, y2) + annotation (Line(points={{4,-2},{84,-2},{84,-36}}, color={0,0,127})); + annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram( + coordinateSystem(preserveAspectRatio=false))); +end GainOutputsTwo; diff --git a/test/FromModelica/package.order b/test/FromModelica/package.order index 0fc0615a..39de3a5e 100644 --- a/test/FromModelica/package.order +++ b/test/FromModelica/package.order @@ -9,6 +9,7 @@ Enable ExtendsClause_1 ExtendsClause_2 ExtendsClause_3 +GainOutputsTwo MisplacedInfoWithComponent MisplacedInfoWithEquation MisplacedInfoWithParameter diff --git a/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld b/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld index ef1bf17c..f1e65b02 100644 --- a/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld +++ b/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld @@ -21,7 +21,7 @@ }, { "@id": "http://example.org#FromModelica.ConditionalBlock.abs", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.Abs", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Abs", "S231P:accessSpecifier": "public", "S231P:description": "Instance could be conditional disabled", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-8,\"y\":-10},{\"x\":12,\"y\":10}]}}}", diff --git a/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld b/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld index cf12255e..eddefb98 100644 --- a/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld +++ b/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld @@ -36,13 +36,13 @@ "S231P:description": "Control error", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-60},{\"x\":-100,\"y\":-20}]}}}", "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.gain.u" + "@id": "http://example.org#FromModelica.CustomPWithLimiter.gain.u" }, "S231P:label": "e" }, { "@id": "http://example.org#FromModelica.CustomPWithLimiter.gain", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.MultiplyByParameter", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", "S231P:accessSpecifier": "public", "S231P:description": "Constant gain", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-60,\"y\":-50},{\"x\":-40,\"y\":-30}]}}}", @@ -51,10 +51,10 @@ "@id": "http://example.org#FromModelica.CustomPWithLimiter.gain.k" }, { - "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.gain.u" + "@id": "http://example.org#FromModelica.CustomPWithLimiter.gain.u" }, { - "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.gain.y" + "@id": "http://example.org#FromModelica.CustomPWithLimiter.gain.y" } ], "S231P:label": "gain" @@ -64,6 +64,12 @@ "S231P:isFinal": true, "S231P:value": "k" }, + { + "@id": "http://example.org#FromModelica.CustomPWithLimiter.gain.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.CustomPWithLimiter.minValue.u2" + } + }, { "@id": "http://example.org#FromModelica.CustomPWithLimiter.k", "@type": "S231P:Parameter", @@ -77,23 +83,29 @@ }, { "@id": "http://example.org#FromModelica.CustomPWithLimiter.minValue", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.Min", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Min", "S231P:accessSpecifier": "public", "S231P:description": "Outputs the minimum of its inputs", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":20,\"y\":-10},{\"x\":40,\"y\":10}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.minValue.u1" + "@id": "http://example.org#FromModelica.CustomPWithLimiter.minValue.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.minValue.u2" + "@id": "http://example.org#FromModelica.CustomPWithLimiter.minValue.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.minValue.y" + "@id": "http://example.org#FromModelica.CustomPWithLimiter.minValue.y" } ], "S231P:label": "minValue" }, + { + "@id": "http://example.org#FromModelica.CustomPWithLimiter.minValue.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.CustomPWithLimiter.y" + } + }, { "@id": "http://example.org#FromModelica.CustomPWithLimiter.y", "@type": "S231P:RealOutput", @@ -109,21 +121,9 @@ "S231P:description": "Maximum value of output signal", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":20},{\"x\":-100,\"y\":60}]}}}", "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.minValue.u1" + "@id": "http://example.org#FromModelica.CustomPWithLimiter.minValue.u1" }, "S231P:label": "yMax" - }, - { - "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.gain.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.minValue.u2" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.CustomPWithLimiter.minValue.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#FromModelica.CustomPWithLimiter.y" - } } ] } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld b/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld index a42f8d53..3a8cc7e1 100644 --- a/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld +++ b/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld @@ -12,7 +12,7 @@ }, { "@id": "http://example.org#FromModelica.DynamicTextColor.u", - "@type": "https://data.ashrae.org/S231P#CXF.Interfaces.Boolean", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Interfaces.Boolean", "S231P:accessSpecifier": "public", "S231P:description": "Input connector", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}", diff --git a/test/reference/cxf/test/FromModelica/Enable.jsonld b/test/reference/cxf/test/FromModelica/Enable.jsonld index 56b35996..3cfe8602 100644 --- a/test/reference/cxf/test/FromModelica/Enable.jsonld +++ b/test/reference/cxf/test/FromModelica/Enable.jsonld @@ -151,83 +151,118 @@ }, { "@id": "http://example.org#FromModelica.Enable.and1", - "@type": "https://data.ashrae.org/S231P#CXF.Logical.And", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.And", "S231P:accessSpecifier": "protected", "S231P:description": "Check supply fan status", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":20,\"y\":80},{\"x\":40,\"y\":100}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.Enable.and1.u1" + "@id": "http://example.org#FromModelica.Enable.and1.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.and1.u2" + "@id": "http://example.org#FromModelica.Enable.and1.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.and1.y" + "@id": "http://example.org#FromModelica.Enable.and1.y" } ], "S231P:label": "and1" }, + { + "@id": "http://example.org#FromModelica.Enable.and1.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.andEnaDis.u1" + } + }, { "@id": "http://example.org#FromModelica.Enable.and2", - "@type": "https://data.ashrae.org/S231P#CXF.Logical.And", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.And", "S231P:accessSpecifier": "protected", "S231P:description": "Logical and", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":160,\"y\":-100},{\"x\":180,\"y\":-80}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.Enable.and2.u1" + "@id": "http://example.org#FromModelica.Enable.and2.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.and2.u2" + "@id": "http://example.org#FromModelica.Enable.and2.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.and2.y" + "@id": "http://example.org#FromModelica.Enable.and2.y" } ], "S231P:label": "and2" }, + { + "@id": "http://example.org#FromModelica.Enable.and2.u1", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.not2.y" + } + }, + { + "@id": "http://example.org#FromModelica.Enable.and2.y", + "S231P:isConnectedTo": [ + { + "@id": "http://example.org#FromModelica.Enable.maxRetDamSwitch.u2" + }, + { + "@id": "http://example.org#FromModelica.Enable.minRetDamSwitch.u2" + } + ] + }, { "@id": "http://example.org#FromModelica.Enable.and3", - "@type": "https://data.ashrae.org/S231P#CXF.Logical.And", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.And", "S231P:accessSpecifier": "protected", "S231P:description": "Check if delay time has been passed after economizer being disabled", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":40,\"y\":-54},{\"x\":60,\"y\":-34}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.Enable.and3.u1" + "@id": "http://example.org#FromModelica.Enable.and3.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.and3.u2" + "@id": "http://example.org#FromModelica.Enable.and3.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.and3.y" + "@id": "http://example.org#FromModelica.Enable.and3.y" } ], "S231P:label": "and3" }, + { + "@id": "http://example.org#FromModelica.Enable.and3.u2", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.delOutDamOsc.y" + } + }, { "@id": "http://example.org#FromModelica.Enable.andEnaDis", - "@type": "https://data.ashrae.org/S231P#CXF.Logical.And", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.And", "S231P:accessSpecifier": "public", "S231P:description": "Check freeze protection stage and zone state", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":60,\"y\":12},{\"x\":80,\"y\":32}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.Enable.andEnaDis.u1" + "@id": "http://example.org#FromModelica.Enable.andEnaDis.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.andEnaDis.u2" + "@id": "http://example.org#FromModelica.Enable.andEnaDis.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.andEnaDis.y" + "@id": "http://example.org#FromModelica.Enable.andEnaDis.y" } ], "S231P:label": "andEnaDis" }, + { + "@id": "http://example.org#FromModelica.Enable.andEnaDis.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.not2.u" + } + }, { "@id": "http://example.org#FromModelica.Enable.conInt", - "@type": "http://example.org#Buildings.Controls.OBC.CDL.Integers.Sources.Constant", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Constant", "S231P:accessSpecifier": "protected", "S231P:description": "Integer constant, stage 0", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-118,\"y\":12},{\"x\":-98,\"y\":32}]}}}", @@ -236,7 +271,7 @@ "@id": "http://example.org#FromModelica.Enable.conInt.k" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.conInt.y" + "@id": "http://example.org#FromModelica.Enable.conInt.y" } ], "S231P:label": "conInt" @@ -246,6 +281,12 @@ "S231P:isFinal": true, "S231P:value": "Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeProtectionStages.stage0" }, + { + "@id": "http://example.org#FromModelica.Enable.conInt.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.intEqu.u2" + } + }, { "@id": "http://example.org#FromModelica.Enable.delEntHis", "@type": "S231P:Parameter", @@ -266,7 +307,7 @@ }, { "@id": "http://example.org#FromModelica.Enable.delOutDamOsc", - "@type": "https://data.ashrae.org/S231P#CXF.Logical.TrueDelay", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueDelay", "S231P:accessSpecifier": "protected", "S231P:description": "Small delay before closing the outdoor air damper to avoid pressure fluctuations", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-20,\"y\":-58},{\"x\":0,\"y\":-38}]}}}", @@ -275,10 +316,10 @@ "@id": "http://example.org#FromModelica.Enable.delOutDamOsc.delayTime" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.delOutDamOsc.u" + "@id": "http://example.org#FromModelica.Enable.delOutDamOsc.u" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.delOutDamOsc.y" + "@id": "http://example.org#FromModelica.Enable.delOutDamOsc.y" } ], "S231P:label": "delOutDamOsc" @@ -288,9 +329,15 @@ "S231P:isFinal": true, "S231P:value": "disDel" }, + { + "@id": "http://example.org#FromModelica.Enable.delOutDamOsc.u", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.not2.y" + } + }, { "@id": "http://example.org#FromModelica.Enable.delRetDam", - "@type": "https://data.ashrae.org/S231P#CXF.Logical.TrueDelay", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueDelay", "S231P:accessSpecifier": "protected", "S231P:description": "Keep return damper open to its physical maximum for a short period of time before closing the outdoor air damper and resuming the maximum return air damper position, per G36 Part N7", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-20,\"y\":-108},{\"x\":0,\"y\":-88}]}}}", @@ -299,10 +346,10 @@ "@id": "http://example.org#FromModelica.Enable.delRetDam.delayTime" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.delRetDam.u" + "@id": "http://example.org#FromModelica.Enable.delRetDam.u" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.delRetDam.y" + "@id": "http://example.org#FromModelica.Enable.delRetDam.y" } ], "S231P:label": "delRetDam" @@ -312,6 +359,12 @@ "S231P:isFinal": true, "S231P:value": "retDamFulOpeTim" }, + { + "@id": "http://example.org#FromModelica.Enable.delRetDam.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.not1.u" + } + }, { "@id": "http://example.org#FromModelica.Enable.delTOutHis", "@type": "S231P:Parameter", @@ -353,7 +406,7 @@ }, { "@id": "http://example.org#FromModelica.Enable.entSubst1", - "@type": "http://example.org#Buildings.Controls.OBC.CDL.Logical.Sources.Constant", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.Constant", "S231P:accessSpecifier": "protected", "S231P:description": "Deactivates outdoor air enthalpy condition if there is no enthalpy sensor", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-160,\"y\":180},{\"x\":-140,\"y\":200}]}}}", @@ -362,7 +415,7 @@ "@id": "http://example.org#FromModelica.Enable.entSubst1.k" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.entSubst1.y" + "@id": "http://example.org#FromModelica.Enable.entSubst1.y" } ], "S231P:label": "entSubst1" @@ -372,6 +425,12 @@ "S231P:isFinal": true, "S231P:value": false }, + { + "@id": "http://example.org#FromModelica.Enable.entSubst1.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.or2.u2" + } + }, { "@id": "http://example.org#FromModelica.Enable.hOut", "@type": "S231P:RealInput", @@ -385,7 +444,7 @@ "S231P:description": "Outdoor air enthalpy", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":152},{\"x\":-260,\"y\":192}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":60},{\"x\":-100,\"y\":100}]}}}", "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.sub2.u1" + "@id": "http://example.org#FromModelica.Enable.sub2.u1" }, "S231P:label": "hOut" }, @@ -402,7 +461,7 @@ "S231P:description": "OA enthalpy high limit cutoff. For differential enthalpy use return air enthalpy measurement", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":112},{\"x\":-260,\"y\":152}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}", "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.sub2.u2" + "@id": "http://example.org#FromModelica.Enable.sub2.u2" }, "S231P:label": "hOutCut" }, @@ -436,22 +495,22 @@ }, { "@id": "http://example.org#FromModelica.Enable.hysOutEnt", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.Hysteresis", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Hysteresis", "S231P:accessSpecifier": "protected", "S231P:description": "Outdoor air enthalpy hysteresis for both fixed and differential enthalpy cutoff conditions", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-160,\"y\":140},{\"x\":-140,\"y\":160}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#FromModelica.Enable.hysOutEnt.uHigh" + "@id": "http://example.org#FromModelica.Enable.hysOutEnt.u" }, { - "@id": "http://example.org#FromModelica.Enable.hysOutEnt.uLow" + "@id": "http://example.org#FromModelica.Enable.hysOutEnt.uHigh" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.hysOutEnt.u" + "@id": "http://example.org#FromModelica.Enable.hysOutEnt.uLow" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.hysOutEnt.y" + "@id": "http://example.org#FromModelica.Enable.hysOutEnt.y" } ], "S231P:label": "hysOutEnt" @@ -466,24 +525,30 @@ "S231P:isFinal": true, "S231P:value": "hOutHigLimCutLow" }, + { + "@id": "http://example.org#FromModelica.Enable.hysOutEnt.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.or2.u2" + } + }, { "@id": "http://example.org#FromModelica.Enable.hysOutTem", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.Hysteresis", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Hysteresis", "S231P:accessSpecifier": "protected", "S231P:description": "Outdoor air temperature hysteresis for both fixed and differential dry bulb temperature cutoff conditions", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-160,\"y\":220},{\"x\":-140,\"y\":240}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#FromModelica.Enable.hysOutTem.uHigh" + "@id": "http://example.org#FromModelica.Enable.hysOutTem.u" }, { - "@id": "http://example.org#FromModelica.Enable.hysOutTem.uLow" + "@id": "http://example.org#FromModelica.Enable.hysOutTem.uHigh" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.hysOutTem.u" + "@id": "http://example.org#FromModelica.Enable.hysOutTem.uLow" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.hysOutTem.y" + "@id": "http://example.org#FromModelica.Enable.hysOutTem.y" } ], "S231P:label": "hysOutTem" @@ -498,142 +563,204 @@ "S231P:isFinal": true, "S231P:value": "TOutHigLimCutLow" }, + { + "@id": "http://example.org#FromModelica.Enable.hysOutTem.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.or2.u1" + } + }, { "@id": "http://example.org#FromModelica.Enable.intEqu", - "@type": "https://data.ashrae.org/S231P#CXF.Integers.Equal", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Equal", "S231P:accessSpecifier": "protected", "S231P:description": "Logical block to check if the freeze protection is deactivated", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-78,\"y\":32},{\"x\":-58,\"y\":52}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.Enable.intEqu.u1" + "@id": "http://example.org#FromModelica.Enable.intEqu.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.intEqu.u2" + "@id": "http://example.org#FromModelica.Enable.intEqu.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.intEqu.y" + "@id": "http://example.org#FromModelica.Enable.intEqu.y" } ], "S231P:label": "intEqu" }, + { + "@id": "http://example.org#FromModelica.Enable.intEqu.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.andEnaDis.u2" + } + }, { "@id": "http://example.org#FromModelica.Enable.maxRetDamSwitch", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.Switch", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Switch", "S231P:accessSpecifier": "protected", "S231P:description": "Keep maximum RA damper position at physical maximum for a short time period after disable signal", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":60,\"y\":-136},{\"x\":80,\"y\":-116}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.Enable.maxRetDamSwitch.u1" + "@id": "http://example.org#FromModelica.Enable.maxRetDamSwitch.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.maxRetDamSwitch.u2" + "@id": "http://example.org#FromModelica.Enable.maxRetDamSwitch.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.maxRetDamSwitch.u3" + "@id": "http://example.org#FromModelica.Enable.maxRetDamSwitch.u3" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.maxRetDamSwitch.y" + "@id": "http://example.org#FromModelica.Enable.maxRetDamSwitch.y" } ], "S231P:label": "maxRetDamSwitch" }, + { + "@id": "http://example.org#FromModelica.Enable.maxRetDamSwitch.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.yRetDam_max" + } + }, { "@id": "http://example.org#FromModelica.Enable.minRetDamSwitch", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.Switch", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Switch", "S231P:accessSpecifier": "protected", "S231P:description": "Keep minimum RA damper position at physical maximum for a short time period after disable", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":60,\"y\":-178},{\"x\":80,\"y\":-158}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.Enable.minRetDamSwitch.u1" + "@id": "http://example.org#FromModelica.Enable.minRetDamSwitch.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.minRetDamSwitch.u2" + "@id": "http://example.org#FromModelica.Enable.minRetDamSwitch.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.minRetDamSwitch.u3" + "@id": "http://example.org#FromModelica.Enable.minRetDamSwitch.u3" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.minRetDamSwitch.y" + "@id": "http://example.org#FromModelica.Enable.minRetDamSwitch.y" } ], "S231P:label": "minRetDamSwitch" }, + { + "@id": "http://example.org#FromModelica.Enable.minRetDamSwitch.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.yRetDam_min" + } + }, { "@id": "http://example.org#FromModelica.Enable.not1", - "@type": "https://data.ashrae.org/S231P#CXF.Logical.Not", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Not", "S231P:accessSpecifier": "protected", "S231P:description": "Logical not", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":20,\"y\":-108},{\"x\":40,\"y\":-88}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.Enable.not1.u" + "@id": "http://example.org#FromModelica.Enable.not1.u" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.not1.y" + "@id": "http://example.org#FromModelica.Enable.not1.y" } ], "S231P:label": "not1" }, + { + "@id": "http://example.org#FromModelica.Enable.not1.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.and2.u2" + } + }, { "@id": "http://example.org#FromModelica.Enable.not2", - "@type": "https://data.ashrae.org/S231P#CXF.Logical.Not", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Not", "S231P:accessSpecifier": "protected", "S231P:description": "Logical not that starts the timer at disable signal ", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-60,\"y\":-58},{\"x\":-40,\"y\":-38}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.Enable.not2.u" + "@id": "http://example.org#FromModelica.Enable.not2.u" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.not2.y" + "@id": "http://example.org#FromModelica.Enable.not2.y" } ], "S231P:label": "not2" }, + { + "@id": "http://example.org#FromModelica.Enable.not2.y", + "S231P:isConnectedTo": [ + { + "@id": "http://example.org#FromModelica.Enable.and3.u1" + }, + { + "@id": "http://example.org#FromModelica.Enable.delRetDam.u" + }, + { + "@id": "http://example.org#FromModelica.Enable.retDamSwitch.u2" + } + ] + }, { "@id": "http://example.org#FromModelica.Enable.or2", - "@type": "https://data.ashrae.org/S231P#CXF.Logical.Or", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Or", "S231P:accessSpecifier": "protected", "S231P:description": "Check if either the temperature or the enthalpy condition is satisfied", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-60,\"y\":182},{\"x\":-40,\"y\":202}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.Enable.or2.u1" + "@id": "http://example.org#FromModelica.Enable.or2.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.or2.u2" + "@id": "http://example.org#FromModelica.Enable.or2.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.or2.y" + "@id": "http://example.org#FromModelica.Enable.or2.y" } ], "S231P:label": "or2" }, + { + "@id": "http://example.org#FromModelica.Enable.or2.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.truFalHol.u" + } + }, { "@id": "http://example.org#FromModelica.Enable.outDamSwitch", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.Switch", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Switch", "S231P:accessSpecifier": "protected", "S231P:description": "Set maximum OA damper position to minimum at disable (after a given time delay)", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":82,\"y\":-78},{\"x\":102,\"y\":-58}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.Enable.outDamSwitch.u1" + "@id": "http://example.org#FromModelica.Enable.outDamSwitch.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.outDamSwitch.u2" + "@id": "http://example.org#FromModelica.Enable.outDamSwitch.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.outDamSwitch.u3" + "@id": "http://example.org#FromModelica.Enable.outDamSwitch.u3" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.outDamSwitch.y" + "@id": "http://example.org#FromModelica.Enable.outDamSwitch.y" } ], "S231P:label": "outDamSwitch" }, + { + "@id": "http://example.org#FromModelica.Enable.outDamSwitch.u2", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.and3.y" + } + }, + { + "@id": "http://example.org#FromModelica.Enable.outDamSwitch.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.yOutDam_max" + } + }, { "@id": "http://example.org#FromModelica.Enable.retDamFulOpeTim", "@type": "S231P:Parameter", @@ -654,64 +781,82 @@ }, { "@id": "http://example.org#FromModelica.Enable.retDamSwitch", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.Switch", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Switch", "S231P:accessSpecifier": "protected", "S231P:description": "Set minimum RA damper position to maximum at disable", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-20,\"y\":-176},{\"x\":0,\"y\":-156}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.Enable.retDamSwitch.u1" + "@id": "http://example.org#FromModelica.Enable.retDamSwitch.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.retDamSwitch.u2" + "@id": "http://example.org#FromModelica.Enable.retDamSwitch.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.retDamSwitch.u3" + "@id": "http://example.org#FromModelica.Enable.retDamSwitch.u3" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.retDamSwitch.y" + "@id": "http://example.org#FromModelica.Enable.retDamSwitch.y" } ], "S231P:label": "retDamSwitch" }, + { + "@id": "http://example.org#FromModelica.Enable.retDamSwitch.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.minRetDamSwitch.u3" + } + }, { "@id": "http://example.org#FromModelica.Enable.sub1", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.Subtract", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract", "S231P:accessSpecifier": "protected", "S231P:description": "Add block determines difference between TOut and TOutCut", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-200,\"y\":220},{\"x\":-180,\"y\":240}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.Enable.sub1.u1" + "@id": "http://example.org#FromModelica.Enable.sub1.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.sub1.u2" + "@id": "http://example.org#FromModelica.Enable.sub1.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.sub1.y" + "@id": "http://example.org#FromModelica.Enable.sub1.y" } ], "S231P:label": "sub1" }, + { + "@id": "http://example.org#FromModelica.Enable.sub1.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.hysOutTem.u" + } + }, { "@id": "http://example.org#FromModelica.Enable.sub2", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.Subtract", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract", "S231P:accessSpecifier": "protected", "S231P:description": "Add block determines difference between hOut and hOutCut", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-200,\"y\":140},{\"x\":-180,\"y\":160}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.Enable.sub2.u1" + "@id": "http://example.org#FromModelica.Enable.sub2.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.sub2.u2" + "@id": "http://example.org#FromModelica.Enable.sub2.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.sub2.y" + "@id": "http://example.org#FromModelica.Enable.sub2.y" } ], "S231P:label": "sub2" }, + { + "@id": "http://example.org#FromModelica.Enable.sub2.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.hysOutEnt.u" + } + }, { "@id": "http://example.org#FromModelica.Enable.TOut", "@type": "S231P:RealInput", @@ -728,7 +873,7 @@ "S231P:description": "Outdoor air temperature", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":232},{\"x\":-260,\"y\":272}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":110},{\"x\":-100,\"y\":150}]}}}", "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.sub1.u1" + "@id": "http://example.org#FromModelica.Enable.sub1.u1" }, "S231P:label": "TOut" }, @@ -748,7 +893,7 @@ "S231P:description": "OA temperature high limit cutoff. For differential dry bulb temperature condition use return air temperature measurement", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":192},{\"x\":-260,\"y\":232}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":90},{\"x\":-100,\"y\":130}]}}}", "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.sub1.u2" + "@id": "http://example.org#FromModelica.Enable.sub1.u2" }, "S231P:label": "TOutCut" }, @@ -785,7 +930,7 @@ }, { "@id": "http://example.org#FromModelica.Enable.truFalHol", - "@type": "https://data.ashrae.org/S231P#CXF.Logical.TrueFalseHold", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueFalseHold", "S231P:accessSpecifier": "public", "S231P:description": "Economizer should not be enabled or disabled within 10 minutes of change", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":20,\"y\":182},{\"x\":40,\"y\":202}]}}}", @@ -794,10 +939,10 @@ "@id": "http://example.org#FromModelica.Enable.truFalHol.trueHoldDuration" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.truFalHol.u" + "@id": "http://example.org#FromModelica.Enable.truFalHol.u" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.truFalHol.y" + "@id": "http://example.org#FromModelica.Enable.truFalHol.y" } ], "S231P:label": "truFalHol" @@ -807,6 +952,12 @@ "S231P:isFinal": true, "S231P:value": 600 }, + { + "@id": "http://example.org#FromModelica.Enable.truFalHol.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.Enable.and1.u1" + } + }, { "@id": "http://example.org#FromModelica.Enable.u1SupFan", "@type": "S231P:BooleanInput", @@ -814,7 +965,7 @@ "S231P:description": "Supply fan proven on", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":62},{\"x\":-260,\"y\":102}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":10},{\"x\":-100,\"y\":50}]}}}", "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.and1.u2" + "@id": "http://example.org#FromModelica.Enable.and1.u2" }, "S231P:label": "u1SupFan" }, @@ -825,7 +976,7 @@ "S231P:description": "Freeze protection stage status signal", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":22},{\"x\":-260,\"y\":62}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-10},{\"x\":-100,\"y\":30}]}}}", "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.intEqu.u1" + "@id": "http://example.org#FromModelica.Enable.intEqu.u1" }, "S231P:label": "uFreProSta" }, @@ -839,7 +990,7 @@ "S231P:description": "Maximum outdoor air damper position, output from damper position limits sequence", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":-58},{\"x\":-260,\"y\":-18}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-40},{\"x\":-100,\"y\":0}]}}}", "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.outDamSwitch.u3" + "@id": "http://example.org#FromModelica.Enable.outDamSwitch.u3" }, "S231P:label": "uOutDam_max", "S231P:max": 1, @@ -855,7 +1006,7 @@ "S231P:description": "Minimum outdoor air damper position, output from damper position limits sequence", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":-98},{\"x\":-260,\"y\":-58}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-60},{\"x\":-100,\"y\":-20}]}}}", "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.outDamSwitch.u1" + "@id": "http://example.org#FromModelica.Enable.outDamSwitch.u1" }, "S231P:label": "uOutDam_min", "S231P:max": 1, @@ -872,10 +1023,10 @@ "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":-178},{\"x\":-260,\"y\":-138}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-130},{\"x\":-100,\"y\":-90}]}}}", "S231P:isConnectedTo": [ { - "@id": "http://example.org#http://example.org#FromModelica.Enable.maxRetDamSwitch.u3" + "@id": "http://example.org#FromModelica.Enable.maxRetDamSwitch.u3" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.retDamSwitch.u1" + "@id": "http://example.org#FromModelica.Enable.retDamSwitch.u1" } ], "S231P:label": "uRetDam_max", @@ -892,7 +1043,7 @@ "S231P:description": "Minimum return air damper position, output from damper position limits sequence", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":-218},{\"x\":-260,\"y\":-178}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-150},{\"x\":-100,\"y\":-110}]}}}", "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.retDamSwitch.u3" + "@id": "http://example.org#FromModelica.Enable.retDamSwitch.u3" }, "S231P:label": "uRetDam_min", "S231P:max": 1, @@ -909,10 +1060,10 @@ "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":-138},{\"x\":-260,\"y\":-98}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-110},{\"x\":-100,\"y\":-70}]}}}", "S231P:isConnectedTo": [ { - "@id": "http://example.org#http://example.org#FromModelica.Enable.maxRetDamSwitch.u1" + "@id": "http://example.org#FromModelica.Enable.maxRetDamSwitch.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.Enable.minRetDamSwitch.u1" + "@id": "http://example.org#FromModelica.Enable.minRetDamSwitch.u1" } ], "S231P:label": "uRetDamPhy_max", @@ -969,157 +1120,6 @@ "S231P:label": "yRetDam_min", "S231P:max": 1, "S231P:min": 0 - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.and1.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.andEnaDis.u1" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.and2.u1", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.not2.y" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.and2.y", - "S231P:isConnectedTo": [ - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.maxRetDamSwitch.u2" - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.minRetDamSwitch.u2" - } - ] - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.and3.u2", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.delOutDamOsc.y" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.andEnaDis.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.not2.u" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.conInt.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.intEqu.u2" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.delOutDamOsc.u", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.not2.y" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.delRetDam.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.not1.u" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.entSubst1.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.or2.u2" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.hysOutEnt.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.or2.u2" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.hysOutTem.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.or2.u1" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.intEqu.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.andEnaDis.u2" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.maxRetDamSwitch.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#FromModelica.Enable.yRetDam_max" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.minRetDamSwitch.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#FromModelica.Enable.yRetDam_min" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.not1.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.and2.u2" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.not2.y", - "S231P:isConnectedTo": [ - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.and3.u1" - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.delRetDam.u" - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.retDamSwitch.u2" - } - ] - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.or2.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.truFalHol.u" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.outDamSwitch.u2", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.and3.y" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.outDamSwitch.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#FromModelica.Enable.yOutDam_max" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.retDamSwitch.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.minRetDamSwitch.u3" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.sub1.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.hysOutTem.u" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.sub2.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.hysOutEnt.u" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.Enable.truFalHol.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.Enable.and1.u1" - } } ] } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/GainOutputsTwo.jsonld b/test/reference/cxf/test/FromModelica/GainOutputsTwo.jsonld new file mode 100644 index 00000000..669b94ab --- /dev/null +++ b/test/reference/cxf/test/FromModelica/GainOutputsTwo.jsonld @@ -0,0 +1,86 @@ +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "http://example.org#FromModelica.GainOutputsTwo", + "@type": "S231P:Block", + "S231P:containsBlock": { + "@id": "http://example.org#FromModelica.GainOutputsTwo.gain" + }, + "S231P:hasInput": { + "@id": "http://example.org#FromModelica.GainOutputsTwo.u2" + }, + "S231P:hasOutput": [ + { + "@id": "http://example.org#FromModelica.GainOutputsTwo.y1" + }, + { + "@id": "http://example.org#FromModelica.GainOutputsTwo.y2" + } + ] + }, + { + "@id": "http://example.org#FromModelica.GainOutputsTwo.gain", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "S231P:accessSpecifier": "public", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-18,\"y\":-12},{\"x\":2,\"y\":8}]}}}", + "S231P:hasInstance": [ + { + "@id": "http://example.org#FromModelica.GainOutputsTwo.gain.k" + }, + { + "@id": "http://example.org#FromModelica.GainOutputsTwo.gain.u" + }, + { + "@id": "http://example.org#FromModelica.GainOutputsTwo.gain.y" + } + ], + "S231P:label": "gain" + }, + { + "@id": "http://example.org#FromModelica.GainOutputsTwo.gain.k", + "S231P:isFinal": true, + "S231P:value": 1 + }, + { + "@id": "http://example.org#FromModelica.GainOutputsTwo.gain.y", + "S231P:isConnectedTo": [ + { + "@id": "http://example.org#FromModelica.GainOutputsTwo.y1" + }, + { + "@id": "http://example.org#FromModelica.GainOutputsTwo.y2" + } + ] + }, + { + "@id": "http://example.org#FromModelica.GainOutputsTwo.u2", + "@type": "S231P:RealInput", + "S231P:accessSpecifier": "public", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-122,\"y\":-38},{\"x\":-82,\"y\":2}]}}}", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.GainOutputsTwo.gain.u" + }, + "S231P:label": "u2" + }, + { + "@id": "http://example.org#FromModelica.GainOutputsTwo.y1", + "@type": "S231P:RealOutput", + "S231P:accessSpecifier": "public", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":64,\"y\":14},{\"x\":104,\"y\":54}]}}}", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.GainOutputsTwo.y1" + }, + "S231P:label": "y1" + }, + { + "@id": "http://example.org#FromModelica.GainOutputsTwo.y2", + "@type": "S231P:RealOutput", + "S231P:accessSpecifier": "public", + "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":64,\"y\":-56},{\"x\":104,\"y\":-16}]}}}", + "S231P:label": "y2" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld b/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld index c339707b..51883be8 100644 --- a/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld +++ b/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld @@ -26,7 +26,7 @@ }, { "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.gain", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.MultiplyByParameter", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", "S231P:accessSpecifier": "public", "S231P:description": "Constant gain", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":0,\"y\":-10},{\"x\":20,\"y\":10}]}}}", @@ -35,10 +35,10 @@ "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.gain.k" }, { - "@id": "http://example.org#http://example.org#FromModelica.MisplacedInfoWithEquation.gain.u" + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.gain.u" }, { - "@id": "http://example.org#http://example.org#FromModelica.MisplacedInfoWithEquation.gain.y" + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.gain.y" } ], "S231P:label": "gain" @@ -48,6 +48,12 @@ "S231P:isFinal": true, "S231P:value": "k" }, + { + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.gain.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.y1" + } + }, { "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.k", "@type": "S231P:Parameter", @@ -66,7 +72,7 @@ "S231P:description": "Input signal", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":20},{\"x\":-100,\"y\":60}]}}}", "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.MisplacedInfoWithEquation.gain.u" + "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.gain.u" }, "S231P:label": "u" }, @@ -85,12 +91,6 @@ "S231P:description": "Output signal", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-10},{\"x\":120,\"y\":10}]}}}", "S231P:label": "y2" - }, - { - "@id": "http://example.org#http://example.org#FromModelica.MisplacedInfoWithEquation.gain.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.y1" - } } ] } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MyController.jsonld b/test/reference/cxf/test/FromModelica/MyController.jsonld index b6d0f9b0..1e0327fd 100644 --- a/test/reference/cxf/test/FromModelica/MyController.jsonld +++ b/test/reference/cxf/test/FromModelica/MyController.jsonld @@ -32,23 +32,29 @@ }, { "@id": "http://example.org#FromModelica.MyController.add2", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.Add", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Add", "S231P:accessSpecifier": "public", "S231P:description": "Add two real inputs", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-10},{\"x\":10,\"y\":10}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.MyController.add2.u1" + "@id": "http://example.org#FromModelica.MyController.add2.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.MyController.add2.u2" + "@id": "http://example.org#FromModelica.MyController.add2.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.MyController.add2.y" + "@id": "http://example.org#FromModelica.MyController.add2.y" } ], "S231P:label": "add2" }, + { + "@id": "http://example.org#FromModelica.MyController.add2.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.MyController.y" + } + }, { "@id": "http://example.org#FromModelica.MyController.subCon1", "@type": "ex:SubController", @@ -59,7 +65,7 @@ "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"generatePointlist\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}" ], "S231P:hasInstance": { - "@id": "http://example.org#http://example.org#FromModelica.MyController.subCon1.u" + "@id": "http://example.org#FromModelica.MyController.subCon1.u" }, "S231P:label": "subCon1" }, @@ -70,7 +76,7 @@ "S231P:description": "Sub controller", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-90},{\"x\":10,\"y\":-70}]}}}", "S231P:hasInstance": { - "@id": "http://example.org#http://example.org#FromModelica.MyController.subCon2.u" + "@id": "http://example.org#FromModelica.MyController.subCon2.u" }, "S231P:label": "subCon2" }, @@ -84,7 +90,7 @@ "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" ], "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.MyController.add2.u1" + "@id": "http://example.org#FromModelica.MyController.add2.u1" }, "S231P:label": "u1" }, @@ -99,13 +105,13 @@ ], "S231P:isConnectedTo": [ { - "@id": "http://example.org#http://example.org#FromModelica.MyController.add2.u2" + "@id": "http://example.org#FromModelica.MyController.add2.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.MyController.subCon1.u" + "@id": "http://example.org#FromModelica.MyController.subCon1.u" }, { - "@id": "http://example.org#http://example.org#FromModelica.MyController.subCon2.u" + "@id": "http://example.org#FromModelica.MyController.subCon2.u" } ], "S231P:label": "u2" @@ -120,12 +126,6 @@ "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" ], "S231P:label": "y" - }, - { - "@id": "http://example.org#http://example.org#FromModelica.MyController.add2.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#FromModelica.MyController.y" - } } ] } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld b/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld index 3cfdfaa7..5fbea13e 100644 --- a/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld +++ b/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld @@ -32,23 +32,29 @@ }, { "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.Add", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Add", "S231P:accessSpecifier": "public", "S231P:description": "Add two real inputs", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-10},{\"x\":10,\"y\":10}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2.u1" + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2.u2" + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2.y" + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2.y" } ], "S231P:label": "add2" }, + { + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.y" + } + }, { "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.subCon1", "@type": "ex:SubController", @@ -59,7 +65,7 @@ "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"generatePointlist\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"export\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}" ], "S231P:hasInstance": { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.subCon1.u" + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.subCon1.u" }, "S231P:label": "subCon1" }, @@ -70,7 +76,7 @@ "S231P:description": "Sub controller", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-90},{\"x\":10,\"y\":-70}]}}}", "S231P:hasInstance": { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.subCon2.u" + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.subCon2.u" }, "S231P:label": "subCon2" }, @@ -84,7 +90,7 @@ "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" ], "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2.u1" + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2.u1" }, "S231P:label": "u1" }, @@ -99,13 +105,13 @@ ], "S231P:isConnectedTo": [ { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2.u2" + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.subCon1.u" + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.subCon1.u" }, { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.subCon2.u" + "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.subCon2.u" } ], "S231P:label": "u2" @@ -120,12 +126,6 @@ "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" ], "S231P:label": "y" - }, - { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.y" - } } ] } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld b/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld index b08f90f1..b998b5f2 100644 --- a/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld +++ b/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld @@ -32,23 +32,29 @@ }, { "@id": "http://example.org#FromModelica.MyControllerWithSemantics.add2", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.Add", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Add", "S231P:accessSpecifier": "public", "S231P:description": "Add two real inputs", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-10},{\"x\":10,\"y\":10}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.add2.u1" + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.add2.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.add2.u2" + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.add2.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.add2.y" + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.add2.y" } ], "S231P:label": "add2" }, + { + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.add2.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.y" + } + }, { "@id": "http://example.org#FromModelica.MyControllerWithSemantics.heaCoi", "@type": "ex:SubController", @@ -59,7 +65,7 @@ "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"generatePointlist\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"semantic\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"metadataLanguage\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Brick 1.3 text/turtle\\\"\"}},\"description_string\":\"bldg: a Brick:Heating_Coil .\"}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"naturalLanguage\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"en\\\"\"}},\"description_string\":\" is a heating coil.\"}}}]}}}}]}}" ], "S231P:hasInstance": { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.heaCoi.u" + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.heaCoi.u" }, "S231P:label": "heaCoi" }, @@ -70,7 +76,7 @@ "S231P:description": "Cooling Coil", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-90},{\"x\":10,\"y\":-70}]}}}", "S231P:hasInstance": { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.subCon2.u" + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.subCon2.u" }, "S231P:label": "subCon2" }, @@ -84,7 +90,7 @@ "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"semantic\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"metadataLanguage\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Brick 1.3 text/turtle\\\"\"}},\"description_string\":\"bldg: a Brick:Temperature_Sensor .\"}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"naturalLanguage\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"en\\\"\"}},\"description_string\":\" is a temperature sensor input\"}}}]}}}}]}}" ], "S231P:isConnectedTo": { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.add2.u1" + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.add2.u1" }, "S231P:label": "u1" }, @@ -99,13 +105,13 @@ ], "S231P:isConnectedTo": [ { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.add2.u2" + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.add2.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.heaCoi.u" + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.heaCoi.u" }, { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.subCon2.u" + "@id": "http://example.org#FromModelica.MyControllerWithSemantics.subCon2.u" } ], "S231P:label": "u2" @@ -120,12 +126,6 @@ "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" ], "S231P:label": "y" - }, - { - "@id": "http://example.org#http://example.org#FromModelica.MyControllerWithSemantics.add2.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#FromModelica.MyControllerWithSemantics.y" - } } ] } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/PointList.jsonld b/test/reference/cxf/test/FromModelica/PointList.jsonld index 8c7101d0..19539b54 100644 --- a/test/reference/cxf/test/FromModelica/PointList.jsonld +++ b/test/reference/cxf/test/FromModelica/PointList.jsonld @@ -43,17 +43,23 @@ ], "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.PointList.con1.u1" + "@id": "http://example.org#FromModelica.PointList.con1.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.PointList.con1.u2" + "@id": "http://example.org#FromModelica.PointList.con1.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.PointList.con1.y" + "@id": "http://example.org#FromModelica.PointList.con1.y" } ], "S231P:label": "con1" }, + { + "@id": "http://example.org#FromModelica.PointList.con1.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.PointList.y2" + } + }, { "@id": "http://example.org#FromModelica.PointList.con2", "@type": "ex:MyController", @@ -65,17 +71,23 @@ ], "S231P:hasInstance": [ { - "@id": "http://example.org#http://example.org#FromModelica.PointList.con2.u1" + "@id": "http://example.org#FromModelica.PointList.con2.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.PointList.con2.u2" + "@id": "http://example.org#FromModelica.PointList.con2.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.PointList.con2.y" + "@id": "http://example.org#FromModelica.PointList.con2.y" } ], "S231P:label": "con2" }, + { + "@id": "http://example.org#FromModelica.PointList.con2.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.PointList.y1" + } + }, { "@id": "http://example.org#FromModelica.PointList.u1", "@type": "S231P:RealInput", @@ -87,10 +99,10 @@ ], "S231P:isConnectedTo": [ { - "@id": "http://example.org#http://example.org#FromModelica.PointList.con1.u1" + "@id": "http://example.org#FromModelica.PointList.con1.u1" }, { - "@id": "http://example.org#http://example.org#FromModelica.PointList.con2.u1" + "@id": "http://example.org#FromModelica.PointList.con2.u1" } ], "S231P:label": "u1" @@ -106,10 +118,10 @@ ], "S231P:isConnectedTo": [ { - "@id": "http://example.org#http://example.org#FromModelica.PointList.con1.u2" + "@id": "http://example.org#FromModelica.PointList.con1.u2" }, { - "@id": "http://example.org#http://example.org#FromModelica.PointList.con2.u2" + "@id": "http://example.org#FromModelica.PointList.con2.u2" } ], "S231P:label": "u2" @@ -135,18 +147,6 @@ "{\"name\":\"__cdl\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connection\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"hardwired\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"false\"}}}}}]}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"trend\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"interval\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"60\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}}}]}}" ], "S231P:label": "y2" - }, - { - "@id": "http://example.org#http://example.org#FromModelica.PointList.con1.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#FromModelica.PointList.y2" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.PointList.con2.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#FromModelica.PointList.y1" - } } ] } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld b/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld index 3c0fc636..6f375e37 100644 --- a/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld +++ b/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld @@ -44,7 +44,7 @@ }, { "@id": "http://example.org#FromModelica.RemovableInputs.abs", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.Abs", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Abs", "S231P:accessSpecifier": "public", "S231P:description": "Instance could be conditional disabled", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-8,\"y\":-10},{\"x\":12,\"y\":10}]}}}", diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld index e2fcf09f..3922b6fc 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld @@ -15,7 +15,7 @@ }, { "@id": "http://example.org#FromModelica.TestEvaluation_1.con", - "@type": "http://example.org#Buildings.Controls.OBC.CDL.Reals.Sources.Constant", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Constant", "S231P:accessSpecifier": "public", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-20,\"y\":10},{\"x\":0,\"y\":30}]}}}", "S231P:hasInstance": { diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld index d366ed38..34ad8ef5 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld @@ -26,25 +26,31 @@ }, { "@id": "http://example.org#FromModelica.TestEvaluation_2.hys", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.Hysteresis", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Hysteresis", "S231P:accessSpecifier": "public", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":-10},{\"x\":10,\"y\":10}]}}}", "S231P:hasInstance": [ { - "@id": "http://example.org#FromModelica.TestEvaluation_2.hys.uHigh" + "@id": "http://example.org#FromModelica.TestEvaluation_2.hys.u" }, { - "@id": "http://example.org#FromModelica.TestEvaluation_2.hys.uLow" + "@id": "http://example.org#FromModelica.TestEvaluation_2.hys.uHigh" }, { - "@id": "http://example.org#http://example.org#FromModelica.TestEvaluation_2.hys.u" + "@id": "http://example.org#FromModelica.TestEvaluation_2.hys.uLow" }, { - "@id": "http://example.org#http://example.org#FromModelica.TestEvaluation_2.hys.y" + "@id": "http://example.org#FromModelica.TestEvaluation_2.hys.y" } ], "S231P:label": "hys" }, + { + "@id": "http://example.org#FromModelica.TestEvaluation_2.hys.u", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.TestEvaluation_2.u" + } + }, { "@id": "http://example.org#FromModelica.TestEvaluation_2.hys.uHigh", "S231P:value": "uHigh" @@ -54,6 +60,12 @@ "S231P:isFinal": true, "S231P:value": "uLow" }, + { + "@id": "http://example.org#FromModelica.TestEvaluation_2.hys.y", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.TestEvaluation_2.y" + } + }, { "@id": "http://example.org#FromModelica.TestEvaluation_2.u", "@type": "S231P:RealInput", @@ -95,18 +107,6 @@ "S231P:description": "Boolean output signal", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":80,\"y\":-20},{\"x\":120,\"y\":20}]}}}", "S231P:label": "y" - }, - { - "@id": "http://example.org#http://example.org#FromModelica.TestEvaluation_2.hys.u", - "S231P:isConnectedTo": { - "@id": "http://example.org#FromModelica.TestEvaluation_2.u" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.TestEvaluation_2.hys.y", - "S231P:isConnectedTo": { - "@id": "http://example.org#FromModelica.TestEvaluation_2.y" - } } ] } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_3.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_3.jsonld index 1426d0c3..a510edb5 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_3.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_3.jsonld @@ -25,7 +25,7 @@ }, { "@id": "http://example.org#FromModelica.TestEvaluation_3.con", - "@type": "http://example.org#Buildings.Controls.OBC.CDL.Logical.Sources.Constant", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.Constant", "S231P:accessSpecifier": "public", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-10,\"y\":10},{\"x\":10,\"y\":30}]}}}", "S231P:hasInstance": { @@ -40,7 +40,7 @@ }, { "@id": "http://example.org#FromModelica.TestEvaluation_3.con1", - "@type": "http://example.org#Buildings.Controls.OBC.CDL.Logical.Sources.Constant", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.Constant", "S231P:accessSpecifier": "public", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-8,\"y\":-30},{\"x\":12,\"y\":-10}]}}}", "S231P:hasInstance": { diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld index c1601fd7..dedba84b 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld @@ -59,22 +59,22 @@ "@id": "http://example.org#FromModelica.TestEvaluation_4.cooCoi.kCooCoi" }, { - "@id": "http://example.org#FromModelica.TestEvaluation_4.cooCoi.TiCooCoi" + "@id": "http://example.org#FromModelica.TestEvaluation_4.cooCoi.TAirSup" }, { - "@id": "http://example.org#http://example.org#FromModelica.TestEvaluation_4.cooCoi.TAirSup" + "@id": "http://example.org#FromModelica.TestEvaluation_4.cooCoi.TiCooCoi" }, { - "@id": "http://example.org#http://example.org#FromModelica.TestEvaluation_4.cooCoi.TSupCooSet" + "@id": "http://example.org#FromModelica.TestEvaluation_4.cooCoi.TSupCooSet" }, { - "@id": "http://example.org#http://example.org#FromModelica.TestEvaluation_4.cooCoi.u1SupFan" + "@id": "http://example.org#FromModelica.TestEvaluation_4.cooCoi.u1SupFan" }, { - "@id": "http://example.org#http://example.org#FromModelica.TestEvaluation_4.cooCoi.uZonSta" + "@id": "http://example.org#FromModelica.TestEvaluation_4.cooCoi.uZonSta" }, { - "@id": "http://example.org#http://example.org#FromModelica.TestEvaluation_4.cooCoi.yCooCoi" + "@id": "http://example.org#FromModelica.TestEvaluation_4.cooCoi.yCooCoi" } ], "S231P:label": "cooCoi" @@ -87,10 +87,40 @@ "@id": "http://example.org#FromModelica.TestEvaluation_4.cooCoi.kCooCoi", "S231P:value": "kCooCoi" }, + { + "@id": "http://example.org#FromModelica.TestEvaluation_4.cooCoi.TAirSup", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.TestEvaluation_4.TAirSup" + } + }, { "@id": "http://example.org#FromModelica.TestEvaluation_4.cooCoi.TiCooCoi", "S231P:value": "TiCooCoi" }, + { + "@id": "http://example.org#FromModelica.TestEvaluation_4.cooCoi.TSupCooSet", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.TestEvaluation_4.TSupCooSet" + } + }, + { + "@id": "http://example.org#FromModelica.TestEvaluation_4.cooCoi.u1SupFan", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.TestEvaluation_4.u1SupFan" + } + }, + { + "@id": "http://example.org#FromModelica.TestEvaluation_4.cooCoi.uZonSta", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.TestEvaluation_4.uZonSta" + } + }, + { + "@id": "http://example.org#FromModelica.TestEvaluation_4.cooCoi.yCooCoi", + "S231P:isConnectedTo": { + "@id": "http://example.org#FromModelica.TestEvaluation_4.yCooCoi" + } + }, { "@id": "http://example.org#FromModelica.TestEvaluation_4.kCooCoi", "@type": "S231P:Parameter", @@ -155,36 +185,6 @@ "S231P:description": "Cooling coil position", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}", "S231P:label": "yCooCoi" - }, - { - "@id": "http://example.org#http://example.org#FromModelica.TestEvaluation_4.cooCoi.TAirSup", - "S231P:isConnectedTo": { - "@id": "http://example.org#FromModelica.TestEvaluation_4.TAirSup" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.TestEvaluation_4.cooCoi.TSupCooSet", - "S231P:isConnectedTo": { - "@id": "http://example.org#FromModelica.TestEvaluation_4.TSupCooSet" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.TestEvaluation_4.cooCoi.u1SupFan", - "S231P:isConnectedTo": { - "@id": "http://example.org#FromModelica.TestEvaluation_4.u1SupFan" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.TestEvaluation_4.cooCoi.uZonSta", - "S231P:isConnectedTo": { - "@id": "http://example.org#FromModelica.TestEvaluation_4.uZonSta" - } - }, - { - "@id": "http://example.org#http://example.org#FromModelica.TestEvaluation_4.cooCoi.yCooCoi", - "S231P:isConnectedTo": { - "@id": "http://example.org#FromModelica.TestEvaluation_4.yCooCoi" - } } ] } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/VariableModification.jsonld b/test/reference/cxf/test/FromModelica/VariableModification.jsonld index 356bf4c6..a9872170 100644 --- a/test/reference/cxf/test/FromModelica/VariableModification.jsonld +++ b/test/reference/cxf/test/FromModelica/VariableModification.jsonld @@ -22,7 +22,7 @@ }, { "@id": "http://example.org#FromModelica.VariableModification.abs", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.Abs", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Abs", "S231P:accessSpecifier": "public", "S231P:description": "Instance with modified input and output attributes", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-8,\"y\":-10},{\"x\":12,\"y\":10}]}}}", diff --git a/test/reference/cxf/test/FromModelica/WithCDLElementary.jsonld b/test/reference/cxf/test/FromModelica/WithCDLElementary.jsonld index 21c71629..bcf034ea 100644 --- a/test/reference/cxf/test/FromModelica/WithCDLElementary.jsonld +++ b/test/reference/cxf/test/FromModelica/WithCDLElementary.jsonld @@ -18,7 +18,7 @@ }, { "@id": "http://example.org#FromModelica.WithCDLElementary.gre", - "@type": "https://data.ashrae.org/S231P#CXF.Reals.Greater", + "@type": "https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Greater", "S231P:accessSpecifier": "public", "S231P:description": "CDL elementary block with inside class", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-8,\"y\":-10},{\"x\":12,\"y\":10}]}}}", diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Equal.json b/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Equal.json index c3774065..536aa6d8 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Equal.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Equal.json @@ -11,7 +11,7 @@ "element_list": [ { "component_clause": { - "type_specifier": "Interfaces.IntegerInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.IntegerInput", "component_list": [ { "declaration": { @@ -48,7 +48,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.IntegerInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.IntegerInput", "component_list": [ { "declaration": { @@ -85,7 +85,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput", "component_list": [ { "declaration": { @@ -394,5 +394,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Integers/Equal.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Integers/Equal.mo", - "checksum": "6ed015e965db594da3ea7128c250435e" + "checksum": "64670047a8d0f1d9f73530feac0f7b75" } \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json b/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json index 00076acc..6a7356ca 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.json @@ -27,7 +27,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.IntegerOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput", "component_list": [ { "declaration": { @@ -354,5 +354,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Integers/Sources/Constant.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Integers/Sources/Constant.mo", - "checksum": "b6ddb71adcf641c588fbbbac670d26fb" + "checksum": "e37b3b4c7b5678459228e449aa453b64" } \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/And.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/And.json index 426c371f..b05d695f 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/And.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/And.json @@ -11,7 +11,7 @@ "element_list": [ { "component_clause": { - "type_specifier": "Interfaces.BooleanInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", "component_list": [ { "declaration": { @@ -48,7 +48,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.BooleanInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", "component_list": [ { "declaration": { @@ -85,7 +85,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput", "component_list": [ { "declaration": { @@ -377,5 +377,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/And.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/And.mo", - "checksum": "abb4a9c072fed007645ee9127a8371e1" + "checksum": "a58beee5bcfd63123faa218286e66acc" } \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Not.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Not.json index f8483468..c8656904 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Not.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Not.json @@ -11,7 +11,7 @@ "element_list": [ { "component_clause": { - "type_specifier": "Interfaces.BooleanInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", "component_list": [ { "declaration": { @@ -48,7 +48,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput", "component_list": [ { "declaration": { @@ -293,5 +293,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/Not.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Not.mo", - "checksum": "7dbcd7ef6c82dd1ea995367b1c5e1e6a" + "checksum": "b63d2f989eb5ee734080773336d793fb" } \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Or.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Or.json index 9ae5c612..031c6b10 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Or.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Or.json @@ -11,7 +11,7 @@ "element_list": [ { "component_clause": { - "type_specifier": "Interfaces.BooleanInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", "component_list": [ { "declaration": { @@ -48,7 +48,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.BooleanInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", "component_list": [ { "declaration": { @@ -85,7 +85,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput", "component_list": [ { "declaration": { @@ -377,5 +377,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/Or.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Or.mo", - "checksum": "670ac5112525c56af6333d275885e875" + "checksum": "2af36a07bec7e60c72726ce9430eb85a" } \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json index d25d7d4b..26cc7cd5 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.json @@ -27,7 +27,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput", "component_list": [ { "declaration": { @@ -377,5 +377,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/Sources/Constant.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/Sources/Constant.mo", - "checksum": "821d92c8b1c3a28aee8ea6c2bf037c7f" + "checksum": "61c6fa7846018c53d353733a74e5a3be" } \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json index 13f897a2..65ae0775 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueDelay.json @@ -81,7 +81,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.BooleanInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", "component_list": [ { "declaration": { @@ -118,7 +118,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput", "component_list": [ { "declaration": { @@ -731,5 +731,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/TrueDelay.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueDelay.mo", - "checksum": "4d4cddbe92a5451b488ada4eac810f92" + "checksum": "f3ce5f88015bd7c5fa34e18c6f2c81e0" } \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json index ac0e769e..49fdf7e6 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.json @@ -111,7 +111,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.BooleanInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", "component_list": [ { "declaration": { @@ -160,7 +160,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput", "component_list": [ { "declaration": { @@ -2562,5 +2562,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueFalseHold.mo", - "checksum": "d3d500d5e52ce2d22a6b926b26115822" + "checksum": "8341c7c1ea1664b4ecccd76c43cf6a63" } \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json deleted file mode 100644 index 3ab91b79..00000000 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.json +++ /dev/null @@ -1,1213 +0,0 @@ -{ - "within": "Buildings.Controls.OBC.CDL.Logical", - "class_definition": [ - { - "class_prefixes": "block", - "class_specifier": { - "long_class_specifier": { - "identifier": "TrueHoldWithReset", - "description_string": "Block that holds a true signal for at least a requested duration", - "composition": { - "element_list": [ - { - "component_clause": { - "type_prefix": "parameter", - "type_specifier": "Real", - "component_list": [ - { - "declaration": { - "identifier": "duration", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "quantity", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"Time\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "unit", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"s\"" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Time duration of the true output signal hold" - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanInput", - "component_list": [ - { - "declaration": { - "identifier": "u" - }, - "description": { - "description_string": "Boolean input signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -140, - "y": -20 - }, - { - "x": -100, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", - "component_list": [ - { - "declaration": { - "identifier": "y" - }, - "description": { - "description_string": "Boolean output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 100, - "y": -20 - }, - { - "x": 140, - "y": 20 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ], - "element_sections": [ - { - "protected_element_list": [ - { - "inner": true, - "component_clause": { - "type_specifier": "Modelica.StateGraph.StateGraphRoot", - "component_list": [ - { - "declaration": { - "identifier": "stateGraphRoot" - }, - "description": { - "description_string": "Root of state graph", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 70, - "y": 68 - }, - { - "x": 90, - "y": 88 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Buildings.Controls.OBC.CDL.Logical.TrueDelay", - "component_list": [ - { - "declaration": { - "identifier": "onDelay", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "final": true, - "element_modification": { - "name": "delayTime", - "modification": { - "equal": true, - "expression": { - "simple_expression": "duration" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Delay for the on signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 10, - "y": 10 - }, - { - "x": 30, - "y": 30 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Modelica.StateGraph.InitialStep", - "component_list": [ - { - "declaration": { - "identifier": "initialStep", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nIn", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nOut", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Initial step", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -80, - "y": 50 - }, - { - "x": -60, - "y": 70 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Modelica.StateGraph.StepWithSignal", - "component_list": [ - { - "declaration": { - "identifier": "outputTrue", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nIn", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "nOut", - "modification": { - "equal": true, - "expression": { - "simple_expression": "1" - } - } - } - } - } - ] - } - }, - "description": { - "description_string": "Holds the output at true", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -10, - "y": 50 - }, - { - "x": 10, - "y": 70 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Modelica.StateGraph.TransitionWithSignal", - "component_list": [ - { - "declaration": { - "identifier": "toOutputTrue" - }, - "description": { - "description_string": "Transition that activates sending a true output signal", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": -50, - "y": 50 - }, - { - "x": -30, - "y": 70 - } - ] - } - } - } - } - } - ] - } - } - ] - } - }, - { - "component_clause": { - "type_specifier": "Modelica.StateGraph.TransitionWithSignal", - "component_list": [ - { - "declaration": { - "identifier": "toInitial" - }, - "description": { - "description_string": "Transition that activates the initial state", - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Placement": { - "transformation": { - "extent": [ - { - "x": 30, - "y": 50 - }, - { - "x": 50, - "y": 70 - } - ] - } - } - } - } - } - ] - } - } - ] - } - } - ] - }, - { - "equation_section": { - "equation": [ - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "initialStep" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "outPort", - "array_subscripts": [ - { - "expression": { - "simple_expression": "1" - } - } - ] - } - ], - "to": [ - { - "dot_op": false, - "identifier": "toOutputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "inPort" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -59.5, - "y": 60 - }, - { - "x": -44, - "y": 60 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "outputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "active" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "y" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 0, - "y": 49 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 120, - "y": 0 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "toOutputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "condition" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -40, - "y": 48 - }, - { - "x": -40, - "y": 0 - }, - { - "x": -120, - "y": 0 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "toInitial" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "outPort" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "initialStep" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "inPort", - "array_subscripts": [ - { - "expression": { - "simple_expression": "1" - } - } - ] - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 41.5, - "y": 60 - }, - { - "x": 52, - "y": 60 - }, - { - "x": 52, - "y": 86 - }, - { - "x": -90, - "y": 86 - }, - { - "x": -90, - "y": 60 - }, - { - "x": -81, - "y": 60 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "outputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "active" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "onDelay" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "u" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 0, - "y": 49 - }, - { - "x": 0, - "y": 20 - }, - { - "x": 8, - "y": 20 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "toOutputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "outPort" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "outputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "inPort", - "array_subscripts": [ - { - "expression": { - "simple_expression": "1" - } - } - ] - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": -38.5, - "y": 60 - }, - { - "x": -11, - "y": 60 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "outputTrue" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "outPort", - "array_subscripts": [ - { - "expression": { - "simple_expression": "1" - } - } - ] - } - ], - "to": [ - { - "dot_op": false, - "identifier": "toInitial" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "inPort" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 10.5, - "y": 60 - }, - { - "x": 36, - "y": 60 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 0 - } - } - } - } - } - ] - } - }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "onDelay" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "y" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "toInitial" - }, - { - "dot_op": true - }, - { - "dot_op": false, - "identifier": "condition" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 32, - "y": 20 - }, - { - "x": 40, - "y": 20 - }, - { - "x": 40, - "y": 48 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - } - } - } - ] - } - } - ] - } - } - ], - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "defaultComponentName", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"truHol\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Icon", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "graphics": [ - { - "name": "Rectangle", - "attribute": { - "extent": [ - { - "x": -100, - "y": 100 - }, - { - "x": 100, - "y": -100 - } - ], - "borderPattern": "BorderPattern.Raised", - "fillColor": { - "r": 210, - "g": 210, - "b": 210 - }, - "fillPattern": "FillPattern.Solid", - "lineThickness": 5 - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -72, - "y": 18 - }, - { - "x": -48, - "y": 18 - }, - { - "x": -48, - "y": 62 - }, - { - "x": 52, - "y": 62 - }, - { - "x": 52, - "y": 18 - }, - { - "x": 80, - "y": 18 - } - ], - "color": { - "r": 255, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Line", - "attribute": { - "points": [ - { - "x": -68, - "y": -46 - }, - { - "x": -48, - "y": -46 - }, - { - "x": -48, - "y": -2 - }, - { - "x": 22, - "y": -2 - }, - { - "x": 22, - "y": -46 - }, - { - "x": 78, - "y": -46 - } - ] - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -150, - "y": 150 - }, - { - "x": 150, - "y": 110 - } - ], - "textString": "\"%name\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Text", - "attribute": { - "extent": [ - { - "x": -90, - "y": -62 - }, - { - "x": 96, - "y": -90 - } - ], - "textString": "\"%duration\"", - "textColor": { - "r": 0, - "g": 0, - "b": 255 - } - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": 71, - "y": 7 - }, - { - "x": 85, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - }, - { - "name": "Ellipse", - "attribute": { - "extent": [ - { - "x": -83, - "y": 7 - }, - { - "x": -69, - "y": -7 - } - ], - "lineColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillColor": { - "r": 235, - "g": 235, - "b": null - }, - "fillPattern": "FillPattern.Solid" - } - } - ] - } - } - } - ] - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "Documentation", - "modification": { - "class_modification": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "info", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n

\nBlock that holds a true input signal for at least a defined time period.\n

\n

\nAt initialization, the output y is equal to the input u.\nIf the input u becomes true, or is true\nduring intialization, a timer starts\nand the Boolean output y stays true for the time\nperiod provided by the parameter duration.\nWhen this time is elapsed, the input is checked again. If\nit is true, then the timer is restarted and the output remains\ntrue for another duration seconds.\nIf the input u is false after\nholdTime seconds, then the ouput is switched to false,\nuntil the input becomes true again.\n

\n

\nThe figure below shows the state chart of the implementation. Note that the\ntransition are done in zero time.\n

\n

\n\n

\n

\nThe figure below shows an example with a hold time of 3600 seconds\nand a pulse width period 9000 seconds that starts at t=200 seconds.\n

\n\n

\n\n

\n\n

\nThe figure below shows an example with a hold time of 60 seconds\nand a pulse width period 3600 seconds that starts at t=0 seconds.\n

\n

\n\n

\n

\nThe next two figures show the same experiment, except that the input u\nhas been negated. The figure below has again a hold time of 3600 seconds\nand a pulse width period 9000 seconds that starts at t=200 seconds.\n

\n

\n\n

\n

\nThe figure below has again a hold time of 60 seconds\nand a pulse width period 3600 seconds that starts at t=0 seconds.\n

\n

\n\n

\n\"" - } - } - } - } - }, - { - "element_modification_or_replaceable": { - "element_modification": { - "name": "revisions", - "modification": { - "equal": true, - "expression": { - "simple_expression": "\"\n
    \n
  • \nNovember 12, 2020, by Michael Wetter:
    \nReformulated to remove dependency to Modelica.Units.SI.
    \nThis is for\nissue 2243.\n
  • \n
  • \nSeptember 18, 2017, by Michael Wetter:
    \nImproved event handling.\n
  • \n
  • \nJune 13, 2017, by Michael Wetter:
    \nReimplemented model using a state graph to avoid having to test for equality within tolerance.\nThis implementation is also easier to understand.
    \nThis is for\nissue 789.\n
  • \n
  • \nMay 24, 2017, by Milica Grahovac:
    \nFirst implementation.\n
  • \n
\n\"" - } - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ], - "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.mo", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/TrueHoldWithReset.mo", - "checksum": "3f59d58e38a2801b2f79b0bcb847b674" -} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Logical/package.json b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/package.json new file mode 100644 index 00000000..ac9bcc81 --- /dev/null +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Logical/package.json @@ -0,0 +1,161 @@ +{ + "within": "Buildings.Controls.OBC.CDL", + "class_definition": [ + { + "class_prefixes": "package", + "class_specifier": { + "long_class_specifier": { + "identifier": "Logical", + "description_string": "Package with logical blocks", + "composition": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Documentation", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "info", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n

\nPackage with blocks for elementary mathematical functions\nfor boolean variables.\n

\n\"" + } + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "revisions", + "modification": { + "equal": true, + "expression": { + "simple_expression": "\"\n
    \n
  • \nDecember 22, 2016, by Michael Wetter:
    \nFirt implementation, based on the blocks from the Modelica Standard Library.\n
  • \n
\n\"" + } + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "graphics": [ + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "radius": 25, + "lineColor": { + "r": 200, + "g": 200, + "b": 200 + }, + "fillColor": { + "r": 248, + "g": 248, + "b": 248 + }, + "fillPattern": "FillPattern.HorizontalCylinder" + } + }, + { + "name": "Rectangle", + "attribute": { + "extent": [ + { + "x": -100, + "y": -100 + }, + { + "x": 100, + "y": 100 + } + ], + "radius": 25, + "lineColor": { + "r": 128, + "g": 128, + "b": 128 + } + } + }, + { + "name": "Line", + "attribute": { + "points": [ + { + "x": -86, + "y": -22 + }, + { + "x": -50, + "y": -22 + }, + { + "x": -50, + "y": 22 + }, + { + "x": 48, + "y": 22 + }, + { + "x": 48, + "y": -22 + }, + { + "x": 88, + "y": -24 + } + ], + "color": { + "r": 255, + "g": 0, + "b": 255 + } + } + } + ] + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "Buildings/Controls/OBC/CDL/Logical/package.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Logical/package.mo", + "checksum": "63052cfac48509d5506a3ed321dbaa4a" +} \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Abs.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Abs.json index 1da95116..b91a598a 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Abs.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Abs.json @@ -11,7 +11,7 @@ "element_list": [ { "component_clause": { - "type_specifier": "Interfaces.RealInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "component_list": [ { "declaration": { @@ -48,7 +48,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", "component_list": [ { "declaration": { @@ -422,5 +422,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Abs.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Abs.mo", - "checksum": "47afbd25663a02ee2391db2fe3eaaa64" + "checksum": "9bb6a336158c208d344d9de9288a85d8" } \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Add.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Add.json index c0ba6714..3a2d3246 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Add.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Add.json @@ -11,7 +11,7 @@ "element_list": [ { "component_clause": { - "type_specifier": "Interfaces.RealInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "component_list": [ { "declaration": { @@ -48,7 +48,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "component_list": [ { "declaration": { @@ -85,7 +85,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", "component_list": [ { "declaration": { @@ -412,5 +412,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Add.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Add.mo", - "checksum": "8935beacbfae0ecbcb54890e5e52d0e3" + "checksum": "d45bbd3889e0a68f534fc03f5be5f925" } \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Greater.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Greater.json index 2613c001..aa556421 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Greater.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Greater.json @@ -112,7 +112,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "component_list": [ { "declaration": { @@ -149,7 +149,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "component_list": [ { "declaration": { @@ -186,7 +186,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput", "component_list": [ { "declaration": { @@ -410,7 +410,7 @@ "element_list": [ { "component_clause": { - "type_specifier": "Interfaces.RealInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "component_list": [ { "declaration": { @@ -447,7 +447,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "component_list": [ { "declaration": { @@ -484,7 +484,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput", "component_list": [ { "declaration": { @@ -743,7 +743,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "component_list": [ { "declaration": { @@ -780,7 +780,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "component_list": [ { "declaration": { @@ -817,7 +817,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput", "component_list": [ { "declaration": { @@ -1730,5 +1730,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Greater.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Greater.mo", - "checksum": "be5ef14dcd9140ce763ab2f853a34955" + "checksum": "302cfe9b9dcc53e43e17844da9c909f7" } \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Hysteresis.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Hysteresis.json index d7578bbc..69fbca29 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Hysteresis.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Hysteresis.json @@ -65,7 +65,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "component_list": [ { "declaration": { @@ -102,7 +102,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.BooleanOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput", "component_list": [ { "declaration": { @@ -790,5 +790,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Hysteresis.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Hysteresis.mo", - "checksum": "b6d025eaf826d61d3ee4fdca33c80643" + "checksum": "4ab7962b6a6a3c0d3905c8cdcfaa93ca" } \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Limiter.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Limiter.json index 2f288f4f..2e01e92c 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Limiter.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Limiter.json @@ -43,7 +43,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "component_list": [ { "declaration": { @@ -80,7 +80,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", "component_list": [ { "declaration": { @@ -557,5 +557,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Limiter.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Limiter.mo", - "checksum": "bb10aab6d4e8b0a6b071b33b944f2264" + "checksum": "c24adde9c99b33569a873644a55c2ef9" } \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Min.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Min.json index 25830f40..ec65e1ad 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Min.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Min.json @@ -11,7 +11,7 @@ "element_list": [ { "component_clause": { - "type_specifier": "Interfaces.RealInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "component_list": [ { "declaration": { @@ -48,7 +48,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "component_list": [ { "declaration": { @@ -85,7 +85,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", "component_list": [ { "declaration": { @@ -335,5 +335,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Min.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Min.mo", - "checksum": "573a70ec95c00792a6e99a8d4a854cd6" + "checksum": "cb15243322972aeb523634962436ccb0" } \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.json index 2ce6d347..30fa5eb9 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.json @@ -27,7 +27,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "component_list": [ { "declaration": { @@ -64,7 +64,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", "component_list": [ { "declaration": { @@ -310,5 +310,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/MultiplyByParameter.mo", - "checksum": "b437136da7b6ca8036b2e38d776836e9" + "checksum": "1231519745dc320dc69c8afeeb68313b" } \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.json index cad1f366..013daa83 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.json @@ -27,7 +27,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", "component_list": [ { "declaration": { @@ -388,5 +388,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Sources/Constant.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Sources/Constant.mo", - "checksum": "963f004099515bac4aafd5caef5d06e9" + "checksum": "5dcdc54cb09fa68b4b24af264e92f306" } \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Subtract.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Subtract.json index 6b6e823b..1046db1d 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Subtract.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Subtract.json @@ -11,7 +11,7 @@ "element_list": [ { "component_clause": { - "type_specifier": "Interfaces.RealInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "component_list": [ { "declaration": { @@ -48,7 +48,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "component_list": [ { "declaration": { @@ -85,7 +85,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", "component_list": [ { "declaration": { @@ -417,5 +417,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Subtract.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Subtract.mo", - "checksum": "704ee76cb193e3cc441ec5e59e454ee6" + "checksum": "7657687f2dbf0ffa0135fdadbc008684" } \ No newline at end of file diff --git a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Switch.json b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Switch.json index 0f17fd68..b546e1ee 100644 --- a/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Switch.json +++ b/test/reference/json/Buildings/Controls/OBC/CDL/Reals/Switch.json @@ -11,7 +11,7 @@ "element_list": [ { "component_clause": { - "type_specifier": "Interfaces.RealInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "component_list": [ { "declaration": { @@ -48,7 +48,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.BooleanInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.BooleanInput", "component_list": [ { "declaration": { @@ -85,7 +85,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealInput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", "component_list": [ { "declaration": { @@ -122,7 +122,7 @@ }, { "component_clause": { - "type_specifier": "Interfaces.RealOutput", + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", "component_list": [ { "declaration": { @@ -558,5 +558,5 @@ ], "modelicaFile": "Buildings/Controls/OBC/CDL/Reals/Switch.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-buildings/Buildings/Controls/OBC/CDL/Reals/Switch.mo", - "checksum": "e1a8e8bf86041c305c355af896a29ade" + "checksum": "5117e9625f4a074519665c1f2072b6b3" } \ No newline at end of file diff --git a/test/reference/json/test/FromModelica/GainOutputsTwo.json b/test/reference/json/test/FromModelica/GainOutputsTwo.json new file mode 100644 index 00000000..5b29f889 --- /dev/null +++ b/test/reference/json/test/FromModelica/GainOutputsTwo.json @@ -0,0 +1,441 @@ +{ + "within": "FromModelica", + "class_definition": [ + { + "class_prefixes": "model", + "class_specifier": { + "long_class_specifier": { + "identifier": "GainOutputsTwo", + "composition": { + "element_list": [ + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "component_list": [ + { + "declaration": { + "identifier": "gain", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -18, + "y": -12 + }, + { + "x": 2, + "y": 8 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "component_list": [ + { + "declaration": { + "identifier": "u2" + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -122, + "y": -38 + }, + { + "x": -82, + "y": 2 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y2" + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 64, + "y": -56 + }, + { + "x": 104, + "y": -16 + } + ] + } + } + } + } + } + ] + } + } + ] + } + }, + { + "component_clause": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "component_list": [ + { + "declaration": { + "identifier": "y1" + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 64, + "y": 14 + }, + { + "x": 104, + "y": 54 + } + ] + } + } + } + } + } + ] + } + } + ] + } + } + ], + "element_sections": [ + { + "equation_section": { + "equation": [ + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "u2" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "gain" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "u" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": -102, + "y": -18 + }, + { + "x": -30, + "y": -18 + }, + { + "x": -30, + "y": -2 + }, + { + "x": -20, + "y": -2 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "y1" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "y1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 84, + "y": 34 + }, + { + "x": 84, + "y": 34 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "gain" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "y1" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 4, + "y": -2 + }, + { + "x": 84, + "y": -2 + }, + { + "x": 84, + "y": 34 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + }, + { + "connect_clause": { + "from": [ + { + "dot_op": false, + "identifier": "gain" + }, + { + "dot_op": true + }, + { + "dot_op": false, + "identifier": "y" + } + ], + "to": [ + { + "dot_op": false, + "identifier": "y2" + } + ] + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Line": { + "points": [ + { + "x": 4, + "y": -2 + }, + { + "x": 84, + "y": -2 + }, + { + "x": 84, + "y": -36 + } + ], + "color": { + "r": 0, + "g": 0, + "b": 127 + } + } + } + } + } + ] + } + } + ] + } + } + ], + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ], + "modelicaFile": "test/FromModelica/GainOutputsTwo.mo", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/GainOutputsTwo.mo", + "checksum": "e62c4d1b3a1dea913034f9243bc8fd75" +} \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/GainOutputsTwo.json b/test/reference/objects/test/FromModelica/GainOutputsTwo.json new file mode 100644 index 00000000..98067a3c --- /dev/null +++ b/test/reference/objects/test/FromModelica/GainOutputsTwo.json @@ -0,0 +1,337 @@ +{ + "instances": { + "GainOutputsTwo": { + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/GainOutputsTwo.mo", + "type": "long_class_specifier", + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Icon", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + }, + { + "element_modification_or_replaceable": { + "element_modification": { + "name": "Diagram", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "coordinateSystem": { + "preserveAspectRatio": "false" + } + } + } + } + ] + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {} + }, + "gain": { + "type_specifier": "Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "GainOutputsTwo", + "single_component_list": { + "declaration": { + "identifier": "gain", + "modification": { + "class_modification": [ + { + "element_modification_or_replaceable": { + "final": true, + "element_modification": { + "name": "k", + "modification": { + "equal": true, + "expression": { + "simple_expression": "1" + } + } + } + } + } + ] + } + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -18, + "y": -12 + }, + { + "x": 2, + "y": 8 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -18, + "y": -12 + }, + { + "x": 2, + "y": 8 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/GainOutputsTwo.mo" + }, + "u2": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "GainOutputsTwo", + "single_component_list": { + "declaration": { + "identifier": "u2" + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -122, + "y": -38 + }, + { + "x": -82, + "y": 2 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": -122, + "y": -38 + }, + { + "x": -82, + "y": 2 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/GainOutputsTwo.mo" + }, + "y2": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "GainOutputsTwo", + "single_component_list": { + "declaration": { + "identifier": "y2" + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 64, + "y": -56 + }, + { + "x": 104, + "y": -16 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 64, + "y": -56 + }, + { + "x": 104, + "y": -16 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/GainOutputsTwo.mo" + }, + "y1": { + "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealOutput", + "type": "element", + "compositionSpecifier": "public", + "long_class_specifier_identifier": "GainOutputsTwo", + "single_component_list": { + "declaration": { + "identifier": "y1" + }, + "description": { + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 64, + "y": 14 + }, + { + "x": 104, + "y": 54 + } + ] + } + } + } + } + } + ] + } + }, + "annotation": [ + { + "element_modification_or_replaceable": { + "element_modification": { + "Placement": { + "transformation": { + "extent": [ + { + "x": 64, + "y": 14 + }, + { + "x": 104, + "y": 54 + } + ] + } + } + } + } + } + ], + "semantics": {}, + "cdl_annotations": {}, + "isVector": false, + "arraySubscripts": "", + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/GainOutputsTwo.mo" + } + }, + "requiredReferences": { + "connections": { + "u2": [ + "gain.u" + ], + "y1": [ + "y1" + ], + "gain.y": [ + "y1", + "y2" + ] + } + } +} \ No newline at end of file diff --git a/test/reference/raw-json/test/FromModelica/GainOutputsTwo.json b/test/reference/raw-json/test/FromModelica/GainOutputsTwo.json new file mode 100644 index 00000000..6f7e2e35 --- /dev/null +++ b/test/reference/raw-json/test/FromModelica/GainOutputsTwo.json @@ -0,0 +1 @@ +{"within":"FromModelica","final_class_definitions":[{"is_final":false,"class_definition":{"encapsulated":false,"class_prefixes":"model","class_specifier":{"long_class_specifier":{"identifier":"GainOutputsTwo","string_comment":"","composition":{"element_list":{"elements":[{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Reals"},{"dot_op":true,"identifier":"MultiplyByParameter"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"gain","modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":true,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"k"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":1,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":18,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":12,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":8,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealInput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"u2"},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":122,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":38,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":82,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealOutput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"y2"},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":64,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":56,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":104,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":16,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealOutput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"y1"},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":64,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":14,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":104,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":54,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}}]},"element_sections":[{"equation_section":{"initial":false,"equations":[{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"u2"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":102,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":18,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":30,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":18,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":30,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"y1"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"y1"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":84,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":34,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":84,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":34,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"y"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"y1"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":4,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":84,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":84,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":34,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"y"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"y2"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":4,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":84,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":84,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":36,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}],"annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Icon"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"coordinateSystem"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"preserveAspectRatio"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":true,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Diagram"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"coordinateSystem"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"preserveAspectRatio"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":true,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}},"is_extends":false}}}}],"modelicaFile":"test/FromModelica/GainOutputsTwo.mo","checksum":"e62c4d1b3a1dea913034f9243bc8fd75"} \ No newline at end of file From 269c487041279a7e066a0467d3702c314262daa8 Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Mon, 3 Jun 2024 15:39:02 -0700 Subject: [PATCH 21/25] adding enumeration parsing in cxf --- lib/cxfExtractor.js | 89 ++++++++++++++++--- lib/objectExtractor.js | 18 +++- test/FromModelica/GainOutputsTwo.mo | 3 +- .../cxf/test/FromModelica/Block1.jsonld | 3 +- .../test/FromModelica/BlockInputOutput.jsonld | 3 +- .../test/FromModelica/BlockWithBlock1.jsonld | 3 +- .../test/FromModelica/ConditionalBlock.jsonld | 3 +- .../FromModelica/CustomPWithLimiter.jsonld | 3 +- .../test/FromModelica/DynamicTextColor.jsonld | 3 +- .../test/FromModelica/EmptyEquation.jsonld | 3 +- .../cxf/test/FromModelica/Enable.jsonld | 3 +- .../cxf/test/FromModelica/Enumeration1.jsonld | 31 +++++++ .../test/FromModelica/GainOutputsTwo.jsonld | 6 +- .../MisplacedInfoWithComponent.jsonld | 3 +- .../MisplacedInfoWithEquation.jsonld | 3 +- .../MisplacedInfoWithParameter.jsonld | 3 +- .../cxf/test/FromModelica/MyController.jsonld | 3 +- .../MyControllerWithExportAnnotation1.jsonld | 3 +- .../MyControllerWithSemantics.jsonld | 3 +- .../test/FromModelica/NoClassComment.jsonld | 3 +- .../cxf/test/FromModelica/NoWithin.jsonld | 3 +- .../cxf/test/FromModelica/Parameter1.jsonld | 3 +- .../Parameter1WithVendorAnnotation.jsonld | 3 +- .../cxf/test/FromModelica/Parameter2.jsonld | 3 +- .../cxf/test/FromModelica/Parameter3.jsonld | 3 +- .../ParameterWithAttributes.jsonld | 3 +- .../ParameterWithDefaultName.jsonld | 3 +- .../FromModelica/ParameterWithInfo.jsonld | 3 +- ...ParameterWithVendorAnnotationInInfo.jsonld | 3 +- .../cxf/test/FromModelica/PointList.jsonld | 3 +- .../test/FromModelica/RemovableInputs.jsonld | 3 +- .../test/FromModelica/SubController.jsonld | 3 +- .../SubControllerWithSemantics.jsonld | 3 +- .../test/FromModelica/TestEvaluation_1.jsonld | 3 +- .../test/FromModelica/TestEvaluation_2.jsonld | 3 +- .../test/FromModelica/TestEvaluation_3.jsonld | 3 +- .../test/FromModelica/TestEvaluation_4.jsonld | 3 +- .../FromModelica/VariableModification.jsonld | 3 +- .../FromModelica/WithCDLElementary.jsonld | 3 +- .../cxf/test/FromModelica/package.jsonld | 3 +- .../test/FromModelica/GainOutputsTwo.json | 47 +--------- .../test/FromModelica/Enumeration1.json | 52 +++++++++-- .../test/FromModelica/GainOutputsTwo.json | 3 - .../test/FromModelica/GainOutputsTwo.json | 2 +- 44 files changed, 243 insertions(+), 113 deletions(-) create mode 100644 test/reference/cxf/test/FromModelica/Enumeration1.jsonld diff --git a/lib/cxfExtractor.js b/lib/cxfExtractor.js index e05d74bc..2afa96dd 100644 --- a/lib/cxfExtractor.js +++ b/lib/cxfExtractor.js @@ -42,6 +42,8 @@ function getCxfGraph (instances, requiredReferences, blockName, generateElementa const newInstanceDict = {} let instanceType = null + let instanceNode + let prefix let within = instanceDict.within let blockNameWithPackage if (within === undefined || within === null) { @@ -50,7 +52,6 @@ function getCxfGraph (instances, requiredReferences, blockName, generateElementa } else { blockNameWithPackage = within + '.' + blockName } - if (instanceDict === null || instanceDict === undefined) { // TODO: handle later } @@ -60,23 +61,85 @@ function getCxfGraph (instances, requiredReferences, blockName, generateElementa // TODO: check if we should include package name within sequence if (checkIfCdlElementaryBlock(within)) { isElementaryBlock = true - if (generateCxfCore || generateElementary) { - if (generateCxfCore) { - // TODO: change blockName to CDL.xx.yy instead of Buildings.Controls.OBC.CDL.xx.yy + } + let blockTypeNode + if (isElementaryBlock) { + blockName = 'CDL' + blockNameWithPackage.split('CDL')[1] + instanceNode = s231Ns(blockName) + blockTypeNode = s231Ns('ElementaryBlock') + } else { + instanceNode = cxfPrefix(blockNameWithPackage) + blockTypeNode = s231Ns('Block') + } + // TODO: how to separate composite block v/s extension block + if (((isElementaryBlock && (generateElementary || generateCxfCore))) || !(isElementaryBlock)) { + graph.add(instanceNode, rdfNs('type'), blockTypeNode) + graph.add(instanceNode, s231Ns('label'), instance) + if ('description' in instanceDict) { + if ('description_string' in instanceDict.description) { + const descriptionString = instanceDict.description.description_string + graph.add(instanceNode, s231Ns('description'), descriptionString) + } + } + } + newInstanceDict.cxfNode = instanceNode + } else if (instanceType === 'short_class_specifier') { + // TODO: handle later + } else if (instanceType === 'enumeration_class') { + if (checkIfCdlElementaryBlock(within)) { + prefix = 's231' + isElementaryBlock = true + } else { + prefix = 'seq' + } + + newInstanceDict.prefix = prefix + if (isElementaryBlock) { + blockName = 'CDL' + blockNameWithPackage.split('CDL')[1] + instanceNode = s231Ns(blockName) + } else { + instanceNode = cxfPrefix(blockNameWithPackage) + } + + if ((isElementaryBlock && (generateElementary || generateCxfCore)) || (!isElementaryBlock)) { + graph.add(instanceNode, rdfNs('type'), s231Ns('EnumerationKind')) + graph.add(instanceNode, s231Ns('label'), instance) + if ('description' in instanceDict) { + if ('description_string' in instanceDict.description) { + const descriptionString = instanceDict.description.description_string + graph.add(instanceNode, s231Ns('description'), descriptionString) } - graph.add(s231Ns(blockNameWithPackage), rdfNs('type'), s231Ns('ElementaryBlock')) - newInstanceDict.cxfNode = s231Ns(blockNameWithPackage) - } else { - newInstanceDict.cxfNode = s231Ns(blockNameWithPackage) } + } + newInstanceDict.cxfNode = instanceNode + } else if (instanceType === 'enumeration') { + const enumerationKind = instanceDict.enumeration_kind + + let enumerationKindPrefix = cxfPrefix + let enumerationKindNode + if (enumerationKind in newInstances) { + enumerationKindPrefix = newInstances[enumerationKind].prefix + enumerationKindNode = newInstances[enumerationKind].cxfNode + } + if (enumerationKindPrefix === 's231') { + instanceNode = s231Ns(`${enumerationKind}.${instance}`) } else { - // TODO: how to separate composite block v/s extension block - graph.add(cxfPrefix(blockNameWithPackage), rdfNs('type'), s231Ns('Block')) - newInstanceDict.cxfNode = cxfPrefix(blockNameWithPackage) + instanceNode = cxfPrefix(`${enumerationKind}.${instance}`) } + + if ((isElementaryBlock && (generateElementary || generateCxfCore)) || (!isElementaryBlock)) { + graph.add(instanceNode, rdfNs('type'), enumerationKindNode) + graph.add(instanceNode, s231Ns('label'), instance) + if ('description' in instanceDict) { + if ('description_string' in instanceDict.description) { + const descriptionString = instanceDict.description.description_string + graph.add(instanceNode, s231Ns('description'), descriptionString) + } + } + } + + newInstanceDict.cxfNode = instanceNode } else if (instanceType === 'element') { - let instanceNode - let prefix const instanceAccessSpecifier = instanceDict.compositionSpecifier if (isElementaryBlock) { instanceNode = s231Ns(`${blockNameWithPackage}.${instance}`) diff --git a/lib/objectExtractor.js b/lib/objectExtractor.js index 496af06b..0448b390 100644 --- a/lib/objectExtractor.js +++ b/lib/objectExtractor.js @@ -119,18 +119,28 @@ function extractAllObjects (jsonOutput, within = null) { type_specifier: name, short_class_specifier_value: shortClassSpeciiferValue, within, - fullMoFilePath + fullMoFilePath, + description: shortClassSpeciiferValue.description + } + } + if ('enum_list' in shortClassSpeciiferValue && shortClassSpeciiferValue.enum_list !== undefined) { + instances[identifier] = { + type: 'enumeration_class', + type_specifier: name, + short_class_specifier_value: shortClassSpeciiferValue, + within, + fullMoFilePath, + description: shortClassSpeciiferValue.description } - } else if ('enum_list' in shortClassSpeciiferValue && shortClassSpeciiferValue.enum_list !== undefined) { const enumList = shortClassSpeciiferValue.enum_list for (let j = 0; j < enumList.length; j++) { const enumListIdentifier = enumList[j].identifier instances[enumListIdentifier] = { type: 'enumeration', + description: enumList[j].description, enumeration_literal: enumList[j], - within, - fullMoFilePath + enumeration_kind: identifier } } } diff --git a/test/FromModelica/GainOutputsTwo.mo b/test/FromModelica/GainOutputsTwo.mo index a41a87f4..50aad59d 100644 --- a/test/FromModelica/GainOutputsTwo.mo +++ b/test/FromModelica/GainOutputsTwo.mo @@ -1,5 +1,5 @@ within FromModelica; -model GainOutputsTwo +block GainOutputsTwo Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter gain(final k=1) annotation (Placement(transformation(extent={{-18,-12},{2,8}}))); Buildings.Controls.OBC.CDL.Interfaces.RealInput u2 @@ -11,7 +11,6 @@ model GainOutputsTwo equation connect(u2, gain.u) annotation (Line(points={{-102,-18},{-30,-18},{-30,-2},{ -20,-2}},color={0,0,127})); - connect(y1, y1) annotation (Line(points={{84,34},{84,34}}, color={0,0,127})); connect(gain.y, y1) annotation (Line(points={{4,-2},{84,-2},{84,34}}, color={0,0,127})); connect(gain.y, y2) diff --git a/test/reference/cxf/test/FromModelica/Block1.jsonld b/test/reference/cxf/test/FromModelica/Block1.jsonld index 6566b9c5..45776171 100644 --- a/test/reference/cxf/test/FromModelica/Block1.jsonld +++ b/test/reference/cxf/test/FromModelica/Block1.jsonld @@ -3,5 +3,6 @@ "S231P": "https://data.ashrae.org/S231P#" }, "@id": "http://example.org#FromModelica.Block1", - "@type": "S231P:Block" + "@type": "S231P:Block", + "S231P:label": "Block1" } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/BlockInputOutput.jsonld b/test/reference/cxf/test/FromModelica/BlockInputOutput.jsonld index 24bce2ed..5a70425a 100644 --- a/test/reference/cxf/test/FromModelica/BlockInputOutput.jsonld +++ b/test/reference/cxf/test/FromModelica/BlockInputOutput.jsonld @@ -11,7 +11,8 @@ }, "S231P:hasOutput": { "@id": "http://example.org#FromModelica.BlockInputOutput.y" - } + }, + "S231P:label": "BlockInputOutput" }, { "@id": "http://example.org#FromModelica.BlockInputOutput.u", diff --git a/test/reference/cxf/test/FromModelica/BlockWithBlock1.jsonld b/test/reference/cxf/test/FromModelica/BlockWithBlock1.jsonld index e5bed28b..cab2c65d 100644 --- a/test/reference/cxf/test/FromModelica/BlockWithBlock1.jsonld +++ b/test/reference/cxf/test/FromModelica/BlockWithBlock1.jsonld @@ -14,7 +14,8 @@ { "@id": "http://example.org#FromModelica.BlockWithBlock1.bloPub" } - ] + ], + "S231P:label": "BlockWithBlock1" }, { "@id": "http://example.org#FromModelica.BlockWithBlock1.bloPro", diff --git a/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld b/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld index f1e65b02..70a9b234 100644 --- a/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld +++ b/test/reference/cxf/test/FromModelica/ConditionalBlock.jsonld @@ -17,7 +17,8 @@ }, "S231P:hasParameter": { "@id": "http://example.org#FromModelica.ConditionalBlock.enaBlo" - } + }, + "S231P:label": "ConditionalBlock" }, { "@id": "http://example.org#FromModelica.ConditionalBlock.abs", diff --git a/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld b/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld index eddefb98..1cbd1af4 100644 --- a/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld +++ b/test/reference/cxf/test/FromModelica/CustomPWithLimiter.jsonld @@ -27,7 +27,8 @@ }, "S231P:hasParameter": { "@id": "http://example.org#FromModelica.CustomPWithLimiter.k" - } + }, + "S231P:label": "CustomPWithLimiter" }, { "@id": "http://example.org#FromModelica.CustomPWithLimiter.e", diff --git a/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld b/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld index 3a8cc7e1..6387160b 100644 --- a/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld +++ b/test/reference/cxf/test/FromModelica/DynamicTextColor.jsonld @@ -8,7 +8,8 @@ "@type": "S231P:Block", "S231P:containsBlock": { "@id": "http://example.org#FromModelica.DynamicTextColor.u" - } + }, + "S231P:label": "DynamicTextColor" }, { "@id": "http://example.org#FromModelica.DynamicTextColor.u", diff --git a/test/reference/cxf/test/FromModelica/EmptyEquation.jsonld b/test/reference/cxf/test/FromModelica/EmptyEquation.jsonld index 8b70b8e6..69a6ba08 100644 --- a/test/reference/cxf/test/FromModelica/EmptyEquation.jsonld +++ b/test/reference/cxf/test/FromModelica/EmptyEquation.jsonld @@ -3,5 +3,6 @@ "S231P": "https://data.ashrae.org/S231P#" }, "@id": "http://example.org#FromModelica.EmptyEquation", - "@type": "S231P:Block" + "@type": "S231P:Block", + "S231P:label": "EmptyEquation" } \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/Enable.jsonld b/test/reference/cxf/test/FromModelica/Enable.jsonld index 3cfe8602..da205ebd 100644 --- a/test/reference/cxf/test/FromModelica/Enable.jsonld +++ b/test/reference/cxf/test/FromModelica/Enable.jsonld @@ -147,7 +147,8 @@ { "@id": "http://example.org#FromModelica.Enable.use_enthalpy" } - ] + ], + "S231P:label": "Enable" }, { "@id": "http://example.org#FromModelica.Enable.and1", diff --git a/test/reference/cxf/test/FromModelica/Enumeration1.jsonld b/test/reference/cxf/test/FromModelica/Enumeration1.jsonld new file mode 100644 index 00000000..26648657 --- /dev/null +++ b/test/reference/cxf/test/FromModelica/Enumeration1.jsonld @@ -0,0 +1,31 @@ +{ + "@context": { + "S231P": "https://data.ashrae.org/S231P#" + }, + "@graph": [ + { + "@id": "http://example.org#Enumeration1.e1", + "@type": "http://example.org#FromModelica.Enumeration1", + "S231P:description": "e1", + "S231P:label": "e1" + }, + { + "@id": "http://example.org#Enumeration1.e2", + "@type": "http://example.org#FromModelica.Enumeration1", + "S231P:description": "e2", + "S231P:label": "e2" + }, + { + "@id": "http://example.org#Enumeration1.e3", + "@type": "http://example.org#FromModelica.Enumeration1", + "S231P:description": "e3", + "S231P:label": "e3" + }, + { + "@id": "http://example.org#FromModelica.Enumeration1", + "@type": "S231P:EnumerationKind", + "S231P:description": "Enumeration defining e1, e2 or e3", + "S231P:label": "Enumeration1" + } + ] +} \ No newline at end of file diff --git a/test/reference/cxf/test/FromModelica/GainOutputsTwo.jsonld b/test/reference/cxf/test/FromModelica/GainOutputsTwo.jsonld index 669b94ab..6b08671b 100644 --- a/test/reference/cxf/test/FromModelica/GainOutputsTwo.jsonld +++ b/test/reference/cxf/test/FromModelica/GainOutputsTwo.jsonld @@ -19,7 +19,8 @@ { "@id": "http://example.org#FromModelica.GainOutputsTwo.y2" } - ] + ], + "S231P:label": "GainOutputsTwo" }, { "@id": "http://example.org#FromModelica.GainOutputsTwo.gain", @@ -70,9 +71,6 @@ "@type": "S231P:RealOutput", "S231P:accessSpecifier": "public", "S231P:graphics": "{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":64,\"y\":14},{\"x\":104,\"y\":54}]}}}", - "S231P:isConnectedTo": { - "@id": "http://example.org#FromModelica.GainOutputsTwo.y1" - }, "S231P:label": "y1" }, { diff --git a/test/reference/cxf/test/FromModelica/MisplacedInfoWithComponent.jsonld b/test/reference/cxf/test/FromModelica/MisplacedInfoWithComponent.jsonld index 7af1dc12..ec3cc03e 100644 --- a/test/reference/cxf/test/FromModelica/MisplacedInfoWithComponent.jsonld +++ b/test/reference/cxf/test/FromModelica/MisplacedInfoWithComponent.jsonld @@ -9,7 +9,8 @@ "@type": "S231P:Block", "S231P:containsBlock": { "@id": "http://example.org#FromModelica.MisplacedInfoWithComponent.bloPub" - } + }, + "S231P:label": "MisplacedInfoWithComponent" }, { "@id": "http://example.org#FromModelica.MisplacedInfoWithComponent.bloPub", diff --git a/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld b/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld index 51883be8..bf78ae2c 100644 --- a/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld +++ b/test/reference/cxf/test/FromModelica/MisplacedInfoWithEquation.jsonld @@ -22,7 +22,8 @@ ], "S231P:hasParameter": { "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.k" - } + }, + "S231P:label": "MisplacedInfoWithEquation" }, { "@id": "http://example.org#FromModelica.MisplacedInfoWithEquation.gain", diff --git a/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld b/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld index d1ee60d8..d84b5d90 100644 --- a/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld +++ b/test/reference/cxf/test/FromModelica/MisplacedInfoWithParameter.jsonld @@ -8,7 +8,8 @@ "@type": "S231P:Block", "S231P:hasParameter": { "@id": "http://example.org#FromModelica.MisplacedInfoWithParameter.kP" - } + }, + "S231P:label": "MisplacedInfoWithParameter" }, { "@id": "http://example.org#FromModelica.MisplacedInfoWithParameter.kP", diff --git a/test/reference/cxf/test/FromModelica/MyController.jsonld b/test/reference/cxf/test/FromModelica/MyController.jsonld index 1e0327fd..84b6bfdf 100644 --- a/test/reference/cxf/test/FromModelica/MyController.jsonld +++ b/test/reference/cxf/test/FromModelica/MyController.jsonld @@ -28,7 +28,8 @@ ], "S231P:hasOutput": { "@id": "http://example.org#FromModelica.MyController.y" - } + }, + "S231P:label": "MyController" }, { "@id": "http://example.org#FromModelica.MyController.add2", diff --git a/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld b/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld index 5fbea13e..3b91e263 100644 --- a/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld +++ b/test/reference/cxf/test/FromModelica/MyControllerWithExportAnnotation1.jsonld @@ -28,7 +28,8 @@ ], "S231P:hasOutput": { "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.y" - } + }, + "S231P:label": "MyControllerWithExportAnnotation1" }, { "@id": "http://example.org#FromModelica.MyControllerWithExportAnnotation1.add2", diff --git a/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld b/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld index b998b5f2..367e2790 100644 --- a/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld +++ b/test/reference/cxf/test/FromModelica/MyControllerWithSemantics.jsonld @@ -28,7 +28,8 @@ ], "S231P:hasOutput": { "@id": "http://example.org#FromModelica.MyControllerWithSemantics.y" - } + }, + "S231P:label": "MyControllerWithSemantics" }, { "@id": "http://example.org#FromModelica.MyControllerWithSemantics.add2", diff --git a/test/reference/cxf/test/FromModelica/NoClassComment.jsonld b/test/reference/cxf/test/FromModelica/NoClassComment.jsonld index 9f3dc091..4363b674 100644 --- a/test/reference/cxf/test/FromModelica/NoClassComment.jsonld +++ b/test/reference/cxf/test/FromModelica/NoClassComment.jsonld @@ -8,7 +8,8 @@ "@type": "S231P:Block", "S231P:hasParameter": { "@id": "http://example.org#FromModelica.NoClassComment.kP" - } + }, + "S231P:label": "NoClassComment" }, { "@id": "http://example.org#FromModelica.NoClassComment.kP", diff --git a/test/reference/cxf/test/FromModelica/NoWithin.jsonld b/test/reference/cxf/test/FromModelica/NoWithin.jsonld index ad246e45..055eebe2 100644 --- a/test/reference/cxf/test/FromModelica/NoWithin.jsonld +++ b/test/reference/cxf/test/FromModelica/NoWithin.jsonld @@ -9,7 +9,8 @@ "@type": "S231P:Block", "S231P:hasConstant": { "@id": "http://example.org#NoWithin.one" - } + }, + "S231P:label": "FromModelica" }, { "@id": "http://example.org#NoWithin.one", diff --git a/test/reference/cxf/test/FromModelica/Parameter1.jsonld b/test/reference/cxf/test/FromModelica/Parameter1.jsonld index f24c2a53..9613bc82 100644 --- a/test/reference/cxf/test/FromModelica/Parameter1.jsonld +++ b/test/reference/cxf/test/FromModelica/Parameter1.jsonld @@ -8,7 +8,8 @@ "@type": "S231P:Block", "S231P:hasParameter": { "@id": "http://example.org#FromModelica.Parameter1.kP" - } + }, + "S231P:label": "Parameter1" }, { "@id": "http://example.org#FromModelica.Parameter1.kP", diff --git a/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld b/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld index 8fa415cf..db757c7a 100644 --- a/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld +++ b/test/reference/cxf/test/FromModelica/Parameter1WithVendorAnnotation.jsonld @@ -8,7 +8,8 @@ "@type": "S231P:Block", "S231P:hasParameter": { "@id": "http://example.org#FromModelica.Parameter1WithVendorAnnotation.kP" - } + }, + "S231P:label": "Parameter1WithVendorAnnotation" }, { "@id": "http://example.org#FromModelica.Parameter1WithVendorAnnotation.kP", diff --git a/test/reference/cxf/test/FromModelica/Parameter2.jsonld b/test/reference/cxf/test/FromModelica/Parameter2.jsonld index 34919ac5..985e3910 100644 --- a/test/reference/cxf/test/FromModelica/Parameter2.jsonld +++ b/test/reference/cxf/test/FromModelica/Parameter2.jsonld @@ -35,7 +35,8 @@ { "@id": "http://example.org#FromModelica.Parameter2.myParUnit" } - ] + ], + "S231P:label": "Parameter2" }, { "@id": "http://example.org#FromModelica.Parameter2.myPar1", diff --git a/test/reference/cxf/test/FromModelica/Parameter3.jsonld b/test/reference/cxf/test/FromModelica/Parameter3.jsonld index c420c2b7..4209f915 100644 --- a/test/reference/cxf/test/FromModelica/Parameter3.jsonld +++ b/test/reference/cxf/test/FromModelica/Parameter3.jsonld @@ -13,7 +13,8 @@ { "@id": "http://example.org#FromModelica.Parameter3.myParUnit" } - ] + ], + "S231P:label": "Parameter3" }, { "@id": "http://example.org#FromModelica.Parameter3.myPar1", diff --git a/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld index 666b9b90..3258a76a 100644 --- a/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld +++ b/test/reference/cxf/test/FromModelica/ParameterWithAttributes.jsonld @@ -9,7 +9,8 @@ "@type": "S231P:Block", "S231P:hasParameter": { "@id": "http://example.org#FromModelica.ParameterWithAttributes.kP" - } + }, + "S231P:label": "ParameterWithAttributes" }, { "@id": "http://example.org#FromModelica.ParameterWithAttributes.kP", diff --git a/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld index ee5a1bff..24385654 100644 --- a/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld +++ b/test/reference/cxf/test/FromModelica/ParameterWithDefaultName.jsonld @@ -8,7 +8,8 @@ "@type": "S231P:Block", "S231P:hasParameter": { "@id": "http://example.org#FromModelica.ParameterWithDefaultName.kP" - } + }, + "S231P:label": "ParameterWithDefaultName" }, { "@id": "http://example.org#FromModelica.ParameterWithDefaultName.kP", diff --git a/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld index 0a06d438..87984bea 100644 --- a/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld +++ b/test/reference/cxf/test/FromModelica/ParameterWithInfo.jsonld @@ -8,7 +8,8 @@ "@type": "S231P:Block", "S231P:hasParameter": { "@id": "http://example.org#FromModelica.ParameterWithInfo.kP" - } + }, + "S231P:label": "ParameterWithInfo" }, { "@id": "http://example.org#FromModelica.ParameterWithInfo.kP", diff --git a/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld b/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld index be7664a6..02cbb2a5 100644 --- a/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld +++ b/test/reference/cxf/test/FromModelica/ParameterWithVendorAnnotationInInfo.jsonld @@ -8,7 +8,8 @@ "@type": "S231P:Block", "S231P:hasParameter": { "@id": "http://example.org#FromModelica.ParameterWithVendorAnnotationInInfo.kP" - } + }, + "S231P:label": "ParameterWithVendorAnnotationInInfo" }, { "@id": "http://example.org#FromModelica.ParameterWithVendorAnnotationInInfo.kP", diff --git a/test/reference/cxf/test/FromModelica/PointList.jsonld b/test/reference/cxf/test/FromModelica/PointList.jsonld index 19539b54..de413c19 100644 --- a/test/reference/cxf/test/FromModelica/PointList.jsonld +++ b/test/reference/cxf/test/FromModelica/PointList.jsonld @@ -30,7 +30,8 @@ { "@id": "http://example.org#FromModelica.PointList.y2" } - ] + ], + "S231P:label": "PointList" }, { "@id": "http://example.org#FromModelica.PointList.con1", diff --git a/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld b/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld index 6f375e37..b982b7db 100644 --- a/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld +++ b/test/reference/cxf/test/FromModelica/RemovableInputs.jsonld @@ -40,7 +40,8 @@ { "@id": "http://example.org#FromModelica.RemovableInputs.have_winSen" } - ] + ], + "S231P:label": "RemovableInputs" }, { "@id": "http://example.org#FromModelica.RemovableInputs.abs", diff --git a/test/reference/cxf/test/FromModelica/SubController.jsonld b/test/reference/cxf/test/FromModelica/SubController.jsonld index 494e9fce..ba667109 100644 --- a/test/reference/cxf/test/FromModelica/SubController.jsonld +++ b/test/reference/cxf/test/FromModelica/SubController.jsonld @@ -11,7 +11,8 @@ }, "S231P:hasOutput": { "@id": "http://example.org#FromModelica.SubController.y" - } + }, + "S231P:label": "SubController" }, { "@id": "http://example.org#FromModelica.SubController.u", diff --git a/test/reference/cxf/test/FromModelica/SubControllerWithSemantics.jsonld b/test/reference/cxf/test/FromModelica/SubControllerWithSemantics.jsonld index ff5b2e27..2891df1e 100644 --- a/test/reference/cxf/test/FromModelica/SubControllerWithSemantics.jsonld +++ b/test/reference/cxf/test/FromModelica/SubControllerWithSemantics.jsonld @@ -11,7 +11,8 @@ }, "S231P:hasOutput": { "@id": "http://example.org#FromModelica.SubControllerWithSemantics.y" - } + }, + "S231P:label": "SubControllerWithSemantics" }, { "@id": "http://example.org#FromModelica.SubControllerWithSemantics.u", diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld index 3922b6fc..59e535a2 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_1.jsonld @@ -11,7 +11,8 @@ }, "S231P:hasParameter": { "@id": "http://example.org#FromModelica.TestEvaluation_1.k1" - } + }, + "S231P:label": "TestEvaluation_1" }, { "@id": "http://example.org#FromModelica.TestEvaluation_1.con", diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld index 34ad8ef5..440c1156 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_2.jsonld @@ -22,7 +22,8 @@ { "@id": "http://example.org#FromModelica.TestEvaluation_2.uLow" } - ] + ], + "S231P:label": "TestEvaluation_2" }, { "@id": "http://example.org#FromModelica.TestEvaluation_2.hys", diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_3.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_3.jsonld index a510edb5..1369974a 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_3.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_3.jsonld @@ -21,7 +21,8 @@ { "@id": "http://example.org#FromModelica.TestEvaluation_3.k2" } - ] + ], + "S231P:label": "TestEvaluation_3" }, { "@id": "http://example.org#FromModelica.TestEvaluation_3.con", diff --git a/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld b/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld index dedba84b..8ef4fddf 100644 --- a/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld +++ b/test/reference/cxf/test/FromModelica/TestEvaluation_4.jsonld @@ -36,7 +36,8 @@ { "@id": "http://example.org#FromModelica.TestEvaluation_4.TiCooCoi" } - ] + ], + "S231P:label": "TestEvaluation_4" }, { "@id": "http://example.org#FromModelica.TestEvaluation_4.controllerTypeCooCoi", diff --git a/test/reference/cxf/test/FromModelica/VariableModification.jsonld b/test/reference/cxf/test/FromModelica/VariableModification.jsonld index a9872170..105b474d 100644 --- a/test/reference/cxf/test/FromModelica/VariableModification.jsonld +++ b/test/reference/cxf/test/FromModelica/VariableModification.jsonld @@ -18,7 +18,8 @@ { "@id": "http://example.org#FromModelica.VariableModification.u" } - ] + ], + "S231P:label": "VariableModification" }, { "@id": "http://example.org#FromModelica.VariableModification.abs", diff --git a/test/reference/cxf/test/FromModelica/WithCDLElementary.jsonld b/test/reference/cxf/test/FromModelica/WithCDLElementary.jsonld index bcf034ea..48f5c0f4 100644 --- a/test/reference/cxf/test/FromModelica/WithCDLElementary.jsonld +++ b/test/reference/cxf/test/FromModelica/WithCDLElementary.jsonld @@ -14,7 +14,8 @@ }, "S231P:hasOutput": { "@id": "http://example.org#FromModelica.WithCDLElementary.y" - } + }, + "S231P:label": "WithCDLElementary" }, { "@id": "http://example.org#FromModelica.WithCDLElementary.gre", diff --git a/test/reference/cxf/test/FromModelica/package.jsonld b/test/reference/cxf/test/FromModelica/package.jsonld index 3292e813..0a5ede88 100644 --- a/test/reference/cxf/test/FromModelica/package.jsonld +++ b/test/reference/cxf/test/FromModelica/package.jsonld @@ -9,7 +9,8 @@ "@type": "S231P:Block", "S231P:hasConstant": { "@id": "http://example.org#package.one" - } + }, + "S231P:label": "FromModelica" }, { "@id": "http://example.org#package.one", diff --git a/test/reference/json/test/FromModelica/GainOutputsTwo.json b/test/reference/json/test/FromModelica/GainOutputsTwo.json index 5b29f889..3f7f1226 100644 --- a/test/reference/json/test/FromModelica/GainOutputsTwo.json +++ b/test/reference/json/test/FromModelica/GainOutputsTwo.json @@ -2,7 +2,7 @@ "within": "FromModelica", "class_definition": [ { - "class_prefixes": "model", + "class_prefixes": "block", "class_specifier": { "long_class_specifier": { "identifier": "GainOutputsTwo", @@ -233,49 +233,6 @@ ] } }, - { - "connect_clause": { - "from": [ - { - "dot_op": false, - "identifier": "y1" - } - ], - "to": [ - { - "dot_op": false, - "identifier": "y1" - } - ] - }, - "description": { - "annotation": [ - { - "element_modification_or_replaceable": { - "element_modification": { - "Line": { - "points": [ - { - "x": 84, - "y": 34 - }, - { - "x": 84, - "y": 34 - } - ], - "color": { - "r": 0, - "g": 0, - "b": 127 - } - } - } - } - } - ] - } - }, { "connect_clause": { "from": [ @@ -437,5 +394,5 @@ ], "modelicaFile": "test/FromModelica/GainOutputsTwo.mo", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/GainOutputsTwo.mo", - "checksum": "e62c4d1b3a1dea913034f9243bc8fd75" + "checksum": "c2606f819268bc6db1c99d78d41ea061" } \ No newline at end of file diff --git a/test/reference/objects/test/FromModelica/Enumeration1.json b/test/reference/objects/test/FromModelica/Enumeration1.json index dcd38623..d73780df 100644 --- a/test/reference/objects/test/FromModelica/Enumeration1.json +++ b/test/reference/objects/test/FromModelica/Enumeration1.json @@ -1,37 +1,77 @@ { "instances": { + "Enumeration1": { + "type": "enumeration_class", + "type_specifier": null, + "short_class_specifier_value": { + "description": { + "description_string": "Enumeration defining e1, e2 or e3" + }, + "enum_list": [ + { + "identifier": "e1", + "description": { + "description_string": "e1" + } + }, + { + "identifier": "e2", + "description": { + "description_string": "e2" + } + }, + { + "identifier": "e3", + "description": { + "description_string": "e3" + } + } + ] + }, + "within": "FromModelica", + "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enumeration1.mo", + "description": { + "description_string": "Enumeration defining e1, e2 or e3" + } + }, "e1": { "type": "enumeration", + "description": { + "description_string": "e1" + }, "enumeration_literal": { "identifier": "e1", "description": { "description_string": "e1" } }, - "within": "FromModelica", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enumeration1.mo" + "enumeration_kind": "Enumeration1" }, "e2": { "type": "enumeration", + "description": { + "description_string": "e2" + }, "enumeration_literal": { "identifier": "e2", "description": { "description_string": "e2" } }, - "within": "FromModelica", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enumeration1.mo" + "enumeration_kind": "Enumeration1" }, "e3": { "type": "enumeration", + "description": { + "description_string": "e3" + }, "enumeration_literal": { "identifier": "e3", "description": { "description_string": "e3" } }, - "within": "FromModelica", - "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enumeration1.mo" + "enumeration_kind": "Enumeration1" } }, "requiredReferences": {} diff --git a/test/reference/objects/test/FromModelica/GainOutputsTwo.json b/test/reference/objects/test/FromModelica/GainOutputsTwo.json index 98067a3c..6b455dc1 100644 --- a/test/reference/objects/test/FromModelica/GainOutputsTwo.json +++ b/test/reference/objects/test/FromModelica/GainOutputsTwo.json @@ -325,9 +325,6 @@ "u2": [ "gain.u" ], - "y1": [ - "y1" - ], "gain.y": [ "y1", "y2" diff --git a/test/reference/raw-json/test/FromModelica/GainOutputsTwo.json b/test/reference/raw-json/test/FromModelica/GainOutputsTwo.json index 6f7e2e35..3351f3b3 100644 --- a/test/reference/raw-json/test/FromModelica/GainOutputsTwo.json +++ b/test/reference/raw-json/test/FromModelica/GainOutputsTwo.json @@ -1 +1 @@ -{"within":"FromModelica","final_class_definitions":[{"is_final":false,"class_definition":{"encapsulated":false,"class_prefixes":"model","class_specifier":{"long_class_specifier":{"identifier":"GainOutputsTwo","string_comment":"","composition":{"element_list":{"elements":[{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Reals"},{"dot_op":true,"identifier":"MultiplyByParameter"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"gain","modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":true,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"k"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":1,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":18,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":12,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":8,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealInput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"u2"},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":122,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":38,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":82,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealOutput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"y2"},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":64,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":56,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":104,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":16,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealOutput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"y1"},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":64,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":14,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":104,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":54,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}}]},"element_sections":[{"equation_section":{"initial":false,"equations":[{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"u2"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":102,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":18,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":30,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":18,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":30,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"y1"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"y1"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":84,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":34,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":84,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":34,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"y"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"y1"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":4,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":84,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":84,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":34,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"y"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"y2"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":4,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":84,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":84,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":36,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}],"annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Icon"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"coordinateSystem"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"preserveAspectRatio"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":true,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Diagram"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"coordinateSystem"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"preserveAspectRatio"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":true,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}},"is_extends":false}}}}],"modelicaFile":"test/FromModelica/GainOutputsTwo.mo","checksum":"e62c4d1b3a1dea913034f9243bc8fd75"} \ No newline at end of file +{"within":"FromModelica","final_class_definitions":[{"is_final":false,"class_definition":{"encapsulated":false,"class_prefixes":"block","class_specifier":{"long_class_specifier":{"identifier":"GainOutputsTwo","string_comment":"","composition":{"element_list":{"elements":[{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Reals"},{"dot_op":true,"identifier":"MultiplyByParameter"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"gain","modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":true,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"k"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":1,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":18,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":12,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":8,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealInput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"u2"},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":122,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":38,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":82,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealOutput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"y2"},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":64,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":56,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":104,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":16,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}},{"redeclare":false,"is_final":false,"inner":false,"outer":false,"replaceable":false,"component_clause":{"type_specifier":{"name":{"name_parts":[{"dot_op":false,"identifier":"Buildings"},{"dot_op":true,"identifier":"Controls"},{"dot_op":true,"identifier":"OBC"},{"dot_op":true,"identifier":"CDL"},{"dot_op":true,"identifier":"Interfaces"},{"dot_op":true,"identifier":"RealOutput"}]}},"component_list":{"component_declaration_list":[{"declaration":{"identifier":"y1"},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Placement"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"transformation"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"extent"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":64,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":14,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":104,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":54,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}}]},"element_sections":[{"equation_section":{"initial":false,"equations":[{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"u2"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"u"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":102,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":18,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":30,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":18,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":30,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":20,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"y"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"y1"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":4,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":84,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":84,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":34,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}},{"connect_clause":{"from":{"component_reference_parts":[{"dot_op":false,"identifier":"gain"},{"dot_op":true},{"dot_op":false,"identifier":"y"}]},"to":{"component_reference_parts":[{"dot_op":false,"identifier":"y2"}]}},"comment":{"string_comment":"","annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Line"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"points"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":4,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":84,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":2,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":84,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"add_op":"-","term":{"factors":[{"primary1":{"unsigned_number":36,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"color"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":0,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"function_arguments":{"function_argument":{"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"unsigned_number":127,"is_false":false,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}}}}},"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}}}]}}],"annotation":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Icon"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"coordinateSystem"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"preserveAspectRatio"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":true,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}},{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"Diagram"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"coordinateSystem"}]},"modification":{"class_modification":{"argument_list":{"arguments":[{"element_modification_or_replaceable":{"each":false,"is_final":false,"element_modification":{"name":{"name_parts":[{"dot_op":false,"identifier":"preserveAspectRatio"}]},"modification":{"equal":true,"colon_equal":false,"expression":{"simple_expression":{"logical_expression1":{"logical_term_list":[{"logical_factor_list":[{"not":false,"relation":{"arithmetic_expression1":{"arithmetic_term_list":[{"term":{"factors":[{"primary1":{"is_false":true,"is_true":false,"function_call_primary":{"der":false,"initial":false},"expression_lists":[],"end":false},"op":""}],"mul_ops":[]}}]},"rel_op":""}}]}]}},"if_expression":{"if_elseif":[]}}},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}},"equal":false,"colon_equal":false},"string_comment":""}}}]}}}},"is_extends":false}}}}],"modelicaFile":"test/FromModelica/GainOutputsTwo.mo","checksum":"c2606f819268bc6db1c99d78d41ea061"} \ No newline at end of file From b83c8898860594395bda2539a233c69d0d1d5488 Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Mon, 3 Jun 2024 15:46:28 -0700 Subject: [PATCH 22/25] keeping package path for elementary blocks --- lib/cxfExtractor.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/cxfExtractor.js b/lib/cxfExtractor.js index 2afa96dd..59616862 100644 --- a/lib/cxfExtractor.js +++ b/lib/cxfExtractor.js @@ -64,8 +64,8 @@ function getCxfGraph (instances, requiredReferences, blockName, generateElementa } let blockTypeNode if (isElementaryBlock) { - blockName = 'CDL' + blockNameWithPackage.split('CDL')[1] - instanceNode = s231Ns(blockName) + // blockName = 'CDL' + blockNameWithPackage.split('CDL')[1] + instanceNode = s231Ns(blockNameWithPackage) blockTypeNode = s231Ns('ElementaryBlock') } else { instanceNode = cxfPrefix(blockNameWithPackage) @@ -95,8 +95,8 @@ function getCxfGraph (instances, requiredReferences, blockName, generateElementa newInstanceDict.prefix = prefix if (isElementaryBlock) { - blockName = 'CDL' + blockNameWithPackage.split('CDL')[1] - instanceNode = s231Ns(blockName) + // blockName = 'CDL' + blockNameWithPackage.split('CDL')[1] + instanceNode = s231Ns(blockNameWithPackage) } else { instanceNode = cxfPrefix(blockNameWithPackage) } From 5c8ed1b6381ceacd56989709c5f7d58f85a6ef7c Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Mon, 3 Jun 2024 18:25:32 -0700 Subject: [PATCH 23/25] generating CXF-Core.jsonld --- CXF-Core.jsonld | 1 + README.md | 12 ++++ app.js | 4 ++ lib/cxfExtractor.js | 67 ++++++++++++++++++- lib/objectExtractor.js | 9 ++- lib/s231ClassesProperties.ttl | 12 ++++ package.json | 2 +- .../cxf/test/FromModelica/Enumeration1.jsonld | 2 +- .../objects/test/FromModelica/Block1.json | 3 +- .../test/FromModelica/BlockInputOutput.json | 3 +- .../test/FromModelica/BlockWithBlock1.json | 3 +- .../test/FromModelica/ConditionalBlock.json | 3 +- .../test/FromModelica/CustomPWithLimiter.json | 1 + .../test/FromModelica/DynamicTextColor.json | 1 + .../test/FromModelica/EmptyEquation.json | 3 +- .../objects/test/FromModelica/Enable.json | 1 + .../test/FromModelica/ExtendsClause_1.json | 1 + .../test/FromModelica/ExtendsClause_2.json | 1 + .../test/FromModelica/ExtendsClause_3.json | 1 + .../test/FromModelica/GainOutputsTwo.json | 1 + .../MisplacedInfoWithComponent.json | 3 +- .../MisplacedInfoWithEquation.json | 3 +- .../MisplacedInfoWithParameter.json | 3 +- .../test/FromModelica/MyController.json | 1 + .../MyControllerWithExportAnnotation1.json | 1 + .../MyControllerWithSemantics.json | 1 + .../test/FromModelica/NoClassComment.json | 3 +- .../objects/test/FromModelica/NoWithin.json | 3 +- .../objects/test/FromModelica/Parameter1.json | 3 +- .../Parameter1WithVendorAnnotation.json | 3 +- .../objects/test/FromModelica/Parameter2.json | 3 +- .../objects/test/FromModelica/Parameter3.json | 3 +- .../FromModelica/ParameterWithAttributes.json | 1 + .../ParameterWithDefaultName.json | 1 + .../test/FromModelica/ParameterWithInfo.json | 1 + .../ParameterWithVendorAnnotationInInfo.json | 1 + .../objects/test/FromModelica/PointList.json | 1 + .../test/FromModelica/RemovableInputs.json | 3 +- .../test/FromModelica/SubController.json | 1 + .../SubControllerWithSemantics.json | 1 + .../test/FromModelica/TestEvaluation_1.json | 1 + .../test/FromModelica/TestEvaluation_2.json | 1 + .../test/FromModelica/TestEvaluation_3.json | 1 + .../test/FromModelica/TestEvaluation_4.json | 1 + .../FromModelica/VariableModification.json | 3 +- .../test/FromModelica/WithCDLElementary.json | 1 + .../objects/test/FromModelica/package.json | 3 +- 47 files changed, 159 insertions(+), 23 deletions(-) create mode 100644 CXF-Core.jsonld diff --git a/CXF-Core.jsonld b/CXF-Core.jsonld new file mode 100644 index 00000000..0a3163a6 --- /dev/null +++ b/CXF-Core.jsonld @@ -0,0 +1 @@ +{"@context":{"S231P":"http://data.ashrae.org/S231P#","qudt":"http://qudt.org/schema/qudt/","rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","rdfs":"http://www.w3.org/2000/01/rdf-schema#","xsd":"http://www.w3.org/2001/XMLSchema#","sh":"http://www.w3.org/ns/shacl#"},"@graph":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Constants","@type":"S231P:ElementaryBlock","S231P:hasConstant":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Constants.eps"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Constants.pi"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Constants.small"}],"S231P:label":"Constants"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Constants.eps","@type":"S231P:Constant","S231P:accessSpecifier":"public","S231P:description":"Biggest number such that 1.0 + eps = 1.0","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"eps","S231P:value":{"@value":"1e-15","@type":"http://www.w3.org/2001/XMLSchema#double"}},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Constants.pi","@type":"S231P:Constant","S231P:accessSpecifier":"public","S231P:description":"Constant number pi, 3.14159265358979","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"pi","S231P:value":"2*Modelica.Math.asin(1)"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Constants.small","@type":"S231P:Constant","S231P:accessSpecifier":"public","S231P:description":"Smallest number such that small and -small are representable on the machine","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"small","S231P:value":{"@value":"1e-37","@type":"http://www.w3.org/2001/XMLSchema#double"}},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger.integerFalse"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger.integerTrue"}],"S231P:label":"BooleanToInteger"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger.integerFalse","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Output signal for false Boolean input","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"integerFalse","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger.integerTrue","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Output signal for true Boolean input","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"integerTrue","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.BooleanToReal","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.BooleanToReal.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.BooleanToReal.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.BooleanToReal.realFalse"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.BooleanToReal.realTrue"}],"S231P:label":"BooleanToReal"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.BooleanToReal.realFalse","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Output signal for false Boolean input","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"realFalse","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.BooleanToReal.realTrue","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Output signal for true Boolean input","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"realTrue","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.BooleanToReal.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.BooleanToReal.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.IntegerToReal","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.IntegerToReal.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.IntegerToReal.y"},"S231P:label":"IntegerToReal"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.IntegerToReal.u","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.IntegerToReal.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.RealToInteger","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.RealToInteger.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.RealToInteger.y"},"S231P:label":"RealToInteger"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.RealToInteger.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Conversions.RealToInteger.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.FirstOrderHold","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.FirstOrderHold.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.FirstOrderHold.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.FirstOrderHold.samplePeriod"},"S231P:label":"FirstOrderHold"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.FirstOrderHold.samplePeriod","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Sample period of component","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"samplePeriod","S231P:min":{"@value":"0.001","@type":"http://www.w3.org/2001/XMLSchema#decimal"}},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.FirstOrderHold.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Continuous input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.FirstOrderHold.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Continuous output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.Sampler","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.Sampler.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.Sampler.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.Sampler.samplePeriod"},"S231P:label":"Sampler"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.Sampler.samplePeriod","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Sample period of component","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"samplePeriod","S231P:min":{"@value":"0.001","@type":"http://www.w3.org/2001/XMLSchema#decimal"}},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.Sampler.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Continuous input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.Sampler.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Continuous output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredMax","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredMax.trigger"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredMax.u"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredMax.y"},"S231P:label":"TriggeredMax"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredMax.trigger","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector for trigger","S231P:graphics":"{\"Placement\":{\"transformation\":{\"origin\":{\"x\":0,\"y\":-120},\"extent\":[{\"x\":-20,\"y\":-20},{\"x\":20,\"y\":20}],\"rotation\":90}}}","S231P:label":"trigger"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredMax.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector with a Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredMax.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector with a Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredMovingMean","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredMovingMean.trigger"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredMovingMean.u"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredMovingMean.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredMovingMean.n"},"S231P:label":"TriggeredMovingMean"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredMovingMean.n","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of samples over which the input is averaged","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"n","S231P:min":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredMovingMean.trigger","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Boolean signal that triggers the block","S231P:graphics":"{\"Placement\":{\"transformation\":{\"origin\":{\"x\":0,\"y\":-120},\"extent\":[{\"x\":-20,\"y\":-20},{\"x\":20,\"y\":20}],\"rotation\":90},\"iconTransformation\":{\"origin\":{\"x\":0,\"y\":-120},\"extent\":[{\"x\":-20,\"y\":-20},{\"x\":20,\"y\":20}],\"rotation\":90}}}","S231P:label":"trigger"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredMovingMean.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Continuous input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredMovingMean.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Discrete averaged signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredSampler","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredSampler.trigger"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredSampler.u"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredSampler.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredSampler.y_start"},"S231P:label":"TriggeredSampler"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredSampler.trigger","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Signal that triggers the sampler","S231P:graphics":"{\"Placement\":{\"transformation\":{\"origin\":{\"x\":0,\"y\":-120},\"extent\":[{\"x\":-20,\"y\":-20},{\"x\":20,\"y\":20}],\"rotation\":90}}}","S231P:label":"trigger"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredSampler.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector with a Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredSampler.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector with a Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.TriggeredSampler.y_start","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Initial value of output signal","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"y_start","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.UnitDelay","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.UnitDelay.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.UnitDelay.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.UnitDelay.samplePeriod"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.UnitDelay.y_start"}],"S231P:label":"UnitDelay"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.UnitDelay.samplePeriod","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Sample period of component","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"samplePeriod","S231P:min":{"@value":"0.001","@type":"http://www.w3.org/2001/XMLSchema#decimal"}},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.UnitDelay.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Continuous input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.UnitDelay.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Continuous output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.UnitDelay.y_start","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Initial value of output signal","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"y_start","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.ZeroOrderHold","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.ZeroOrderHold.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.ZeroOrderHold.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.ZeroOrderHold.samplePeriod"},"S231P:label":"ZeroOrderHold"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.ZeroOrderHold.samplePeriod","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Sample period of component","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"samplePeriod","S231P:min":{"@value":"0.001","@type":"http://www.w3.org/2001/XMLSchema#decimal"}},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.ZeroOrderHold.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Continuous input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Discrete.ZeroOrderHold.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Continuous output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Abs","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Abs.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Abs.y"},"S231P:label":"Abs"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Abs.u","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Abs.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer output signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Add","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Add.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Add.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Add.y"},"S231P:label":"Add"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Add.u1","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal 1","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Add.u2","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal 2","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Add.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.AddParameter","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.AddParameter.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.AddParameter.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.AddParameter.p"},"S231P:label":"AddParameter"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.AddParameter.p","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Value to be added","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"p"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.AddParameter.u","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.AddParameter.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Change","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Change.u"},"S231P:hasOutput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Change.down"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Change.up"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Change.y"}],"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Change.pre_u_start"},"S231P:label":"Change"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Change.down","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal indicating input decrease","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-80},{\"x\":140,\"y\":-40}]}}}","S231P:label":"down"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Change.pre_u_start","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Start value of pre(u) at initial time","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"pre_u_start","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Change.u","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Change.up","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal indicating input increase","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":40},{\"x\":140,\"y\":80}]}}}","S231P:label":"up"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Change.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Equal","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Equal.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Equal.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Equal.y"},"S231P:label":"Equal"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Equal.u1","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of first Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Equal.u2","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of second Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Equal.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Greater","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Greater.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Greater.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Greater.y"},"S231P:label":"Greater"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Greater.u1","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of first Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Greater.u2","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of second Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Greater.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterEqual","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterEqual.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterEqual.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterEqual.y"},"S231P:label":"GreaterEqual"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterEqual.u1","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of first Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterEqual.u2","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of second Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterEqual.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterEqualThreshold","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterEqualThreshold.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterEqualThreshold.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterEqualThreshold.t"},"S231P:label":"GreaterEqualThreshold"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterEqualThreshold.t","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Comparison with respect to a threshold","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"t","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterEqualThreshold.u","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterEqualThreshold.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterThreshold","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterThreshold.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterThreshold.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterThreshold.t"},"S231P:label":"GreaterThreshold"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterThreshold.t","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Threshold for comparison","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"t","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterThreshold.u","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.GreaterThreshold.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Less","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Less.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Less.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Less.y"},"S231P:label":"Less"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Less.u1","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of first Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Less.u2","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of second Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Less.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessEqual","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessEqual.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessEqual.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessEqual.y"},"S231P:label":"LessEqual"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessEqual.u1","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of first Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessEqual.u2","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of second Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessEqual.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessEqualThreshold","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessEqualThreshold.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessEqualThreshold.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessEqualThreshold.t"},"S231P:label":"LessEqualThreshold"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessEqualThreshold.t","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Threshold for comparison","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"t","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessEqualThreshold.u","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessEqualThreshold.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessThreshold","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessThreshold.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessThreshold.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessThreshold.t"},"S231P:label":"LessThreshold"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessThreshold.t","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Threshold for comparison","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"t","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessThreshold.u","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.LessThreshold.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Max","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Max.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Max.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Max.y"},"S231P:label":"Max"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Max.u1","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal 1","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Max.u2","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal 2","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Max.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Min","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Min.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Min.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Min.y"},"S231P:label":"Min"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Min.u1","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal 1","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Min.u2","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal 2","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Min.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.MultiSum","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.MultiSum.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.MultiSum.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.MultiSum.k"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.MultiSum.nin"}],"S231P:label":"MultiSum"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.MultiSum.k","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Input gains","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"k","S231P:value":"fill(1, nin)"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.MultiSum.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of input connections","S231P:graphics":["{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connectorSizing\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}","{\"name\":\"HideResult\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}"],"S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin","S231P:min":0,"S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.MultiSum.u","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":70},{\"x\":-100,\"y\":-70}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.MultiSum.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Multiply","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Multiply.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Multiply.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Multiply.y"},"S231P:label":"Multiply"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Multiply.u1","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal 1","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Multiply.u2","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal 2","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Multiply.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.OnCounter","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.OnCounter.reset"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.OnCounter.trigger"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.OnCounter.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.OnCounter.y_start"},"S231P:label":"OnCounter"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.OnCounter.reset","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Reset the counter","S231P:graphics":"{\"Placement\":{\"transformation\":{\"origin\":{\"x\":0,\"y\":-120},\"extent\":[{\"x\":-20,\"y\":-20},{\"x\":20,\"y\":20}],\"rotation\":90}}}","S231P:label":"reset"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.OnCounter.trigger","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"trigger"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.OnCounter.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Integer output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.OnCounter.y_start","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Initial and reset value of y if input reset switches to true","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"y_start","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Constant","@type":"S231P:ElementaryBlock","S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Constant.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Constant.k"},"S231P:label":"Constant"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Constant.k","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Constant output value","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"k"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Constant.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Pulse","@type":"S231P:ElementaryBlock","S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Pulse.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Pulse.amplitude"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Pulse.offset"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Pulse.period"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Pulse.shift"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Pulse.width"}],"S231P:label":"Pulse"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Pulse.amplitude","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Amplitude of pulse","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"amplitude","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Pulse.offset","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Offset of output signals","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"offset","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Pulse.period","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Time for one period","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"period","S231P:min":"Constants.small"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Pulse.shift","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Shift time for output","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"shift","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Pulse.width","@type":"S231P:Parameter","qudt:hasUnit":{"@id":"S231P:1"},"S231P:accessSpecifier":"public","S231P:description":"Width of pulse in fraction of period","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"width","S231P:max":1,"S231P:min":"Constants.small","S231P:value":{"@value":"0.5","@type":"http://www.w3.org/2001/XMLSchema#decimal"}},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.Pulse.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Pulse output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.TimeTable","@type":"S231P:ElementaryBlock","S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.TimeTable.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.TimeTable.period"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.TimeTable.table"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.TimeTable.timeScale"}],"S231P:label":["TimeTable","getIndex"]},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.TimeTable.period","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Periodicity of table","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"period","S231P:min":{"@value":"0.000001","@type":"http://www.w3.org/2001/XMLSchema#decimal"}},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.TimeTable.table","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Table matrix with time as a first table column (in seconds, unless timeScale is not 1) and Integers in all other columns","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"table"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.TimeTable.timeScale","@type":"S231P:Parameter","qudt:hasUnit":{"@id":"S231P:1"},"S231P:accessSpecifier":"public","S231P:description":"Time scale of first table column. Set to 3600 if time in table is in hours","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"timeScale","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Sources.TimeTable.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Output of the table","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Stage","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Stage.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Stage.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Stage.h"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Stage.holdDuration"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Stage.n"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Stage.pre_y_start"}],"S231P:label":"Stage"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Stage.h","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Hysteresis for comparing input with threshold","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"h","S231P:max":"0.5/n","S231P:min":"0.001/n","S231P:value":"0.02/n"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Stage.holdDuration","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Minimum time that the output needs to be held constant. Set to 0 to disable hold time","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"holdDuration","S231P:min":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Stage.n","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of stages that could be enabled","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"n","S231P:min":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Stage.pre_y_start","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Value of pre(y) at initial time","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"pre_y_start","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Stage.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Real input for specifying stages","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u","S231P:max":1,"S231P:min":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Stage.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Total number of stages that should be enabled","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y","S231P:max":"n","S231P:min":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Subtract","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Subtract.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Subtract.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Subtract.y"},"S231P:label":"Subtract"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Subtract.u1","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal 1","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Subtract.u2","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal 2","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Subtract.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Switch","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Switch.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Switch.u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Switch.u3"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Switch.y"},"S231P:label":"Switch"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Switch.u1","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":60},{\"x\":-100,\"y\":100}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Switch.u2","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Boolean switch input signal, if true, y=u1, else y=u3","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Switch.u3","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]}}}","S231P:label":"u3"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Integers.Switch.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Integer output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.And","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.And.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.And.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.And.y"},"S231P:label":"And"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.And.u1","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of first Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.And.u2","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of second Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.And.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Change","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Change.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Change.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Change.pre_u_start"},"S231P:label":"Change"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Change.pre_u_start","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Start value of pre(u) at initial time","S231P:isOfDataType":{"@id":"S231P:Boolean"},"S231P:label":"pre_u_start","S231P:value":false},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Change.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Change.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Edge","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Edge.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Edge.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Edge.pre_u_start"},"S231P:label":"Edge"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Edge.pre_u_start","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Start value of pre(u) at initial time","S231P:isOfDataType":{"@id":"S231P:Boolean"},"S231P:label":"pre_u_start","S231P:value":false},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Edge.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Edge.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.FallingEdge","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.FallingEdge.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.FallingEdge.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.FallingEdge.pre_u_start"},"S231P:label":"FallingEdge"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.FallingEdge.pre_u_start","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Start value of pre(u) at initial time","S231P:isOfDataType":{"@id":"S231P:Boolean"},"S231P:label":"pre_u_start","S231P:value":false},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.FallingEdge.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.FallingEdge.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Latch","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Latch.clr"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Latch.u"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Latch.y"},"S231P:label":"Latch"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Latch.clr","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Clear input","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"clr"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Latch.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Latch input","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Latch.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.MultiAnd","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.MultiAnd.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.MultiAnd.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.MultiAnd.nin"},"S231P:label":"MultiAnd"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.MultiAnd.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of input connections","S231P:graphics":["{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connectorSizing\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}","{\"name\":\"HideResult\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}"],"S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin","S231P:min":0,"S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.MultiAnd.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean input signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":70},{\"x\":-100,\"y\":-70}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.MultiAnd.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.MultiOr","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.MultiOr.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.MultiOr.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.MultiOr.nin"},"S231P:label":"MultiOr"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.MultiOr.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of input connections","S231P:graphics":["{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connectorSizing\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}","{\"name\":\"HideResult\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}"],"S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin","S231P:min":0,"S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.MultiOr.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean input signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":70},{\"x\":-100,\"y\":-70}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.MultiOr.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Nand","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Nand.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Nand.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Nand.y"},"S231P:label":"Nand"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Nand.u1","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of first Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Nand.u2","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of second Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Nand.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Nor","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Nor.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Nor.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Nor.y"},"S231P:label":"Nor"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Nor.u1","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of first Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Nor.u2","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of second Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Nor.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Not","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Not.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Not.y"},"S231P:label":"Not"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Not.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Not.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Or","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Or.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Or.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Or.y"},"S231P:label":"Or"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Or.u1","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of first Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Or.u2","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of second Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Or.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Pre","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Pre.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Pre.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Pre.pre_u_start"},"S231P:label":"Pre"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Pre.pre_u_start","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Start value of pre(u) at initial time","S231P:isOfDataType":{"@id":"S231P:Boolean"},"S231P:label":"pre_u_start","S231P:value":false},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Pre.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Pre.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Proof","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Proof.u_m"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Proof.u_s"}],"S231P:hasOutput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Proof.yLocFal"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Proof.yLocTru"}],"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Proof.debounce"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Proof.feedbackDelay"}],"S231P:label":"Proof"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Proof.debounce","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Time during which input must remain unchanged for signal to considered valid and used in checks","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"debounce"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Proof.feedbackDelay","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Delay after which the two inputs are checked for equality once they become valid","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"feedbackDelay"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Proof.u_m","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Measured status","S231P:graphics":"{\"Placement\":{\"transformation\":{\"origin\":{\"x\":0,\"y\":-260},\"extent\":[{\"x\":-20,\"y\":-20},{\"x\":20,\"y\":20}],\"rotation\":90},\"iconTransformation\":{\"origin\":{\"x\":0,\"y\":-120},\"extent\":[{\"x\":-20,\"y\":-20},{\"x\":20,\"y\":20}],\"rotation\":90}}}","S231P:label":"u_m"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Proof.u_s","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Commanded status setpoint","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-300,\"y\":-20},{\"x\":-260,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u_s"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Proof.yLocFal","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"True: measured input is locked to false even after the setpoint has changed to true","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":240,\"y\":100},{\"x\":280,\"y\":140}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":30},{\"x\":140,\"y\":70}]}}}","S231P:label":"yLocFal"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Proof.yLocTru","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"True: measured input is locked to true even after the setpoint has changed to false","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":240,\"y\":-140},{\"x\":280,\"y\":-100}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-70},{\"x\":140,\"y\":-30}]}}}","S231P:label":"yLocTru"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.Constant","@type":"S231P:ElementaryBlock","S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.Constant.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.Constant.k"},"S231P:label":"Constant"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.Constant.k","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Constant output value","S231P:isOfDataType":{"@id":"S231P:Boolean"},"S231P:label":"k"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.Constant.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.Pulse","@type":"S231P:ElementaryBlock","S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.Pulse.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.Pulse.period"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.Pulse.shift"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.Pulse.width"}],"S231P:label":"Pulse"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.Pulse.period","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Time for one period","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"period","S231P:min":"Constants.small"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.Pulse.shift","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Shift time for output","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"shift","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.Pulse.width","@type":"S231P:Parameter","qudt:hasUnit":{"@id":"S231P:1"},"S231P:accessSpecifier":"public","S231P:description":"Width of pulse in fraction of period","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"width","S231P:max":1,"S231P:min":"Constants.small","S231P:value":{"@value":"0.5","@type":"http://www.w3.org/2001/XMLSchema#decimal"}},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.Pulse.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.SampleTrigger","@type":"S231P:ElementaryBlock","S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.SampleTrigger.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.SampleTrigger.period"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.SampleTrigger.shift"}],"S231P:label":"SampleTrigger"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.SampleTrigger.period","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Sample period","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"period","S231P:min":"Constants.small"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.SampleTrigger.shift","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Shift time for output","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"shift","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.SampleTrigger.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.TimeTable","@type":"S231P:ElementaryBlock","S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.TimeTable.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.TimeTable.period"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.TimeTable.table"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.TimeTable.timeScale"}],"S231P:label":"TimeTable"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.TimeTable.period","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Periodicity of table","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"period"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.TimeTable.table","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Table matrix with time as a first column (in seconds, unless timeScale is not 1) and 0 for False or 1 for True in all other columns","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"table"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.TimeTable.timeScale","@type":"S231P:Parameter","qudt:hasUnit":{"@id":"S231P:1"},"S231P:accessSpecifier":"public","S231P:description":"Time scale of first table column. Set to 3600 if time in table is in hours","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"timeScale","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Sources.TimeTable.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Output of the table","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":120,\"y\":-20},{\"x\":160,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Switch","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Switch.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Switch.u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Switch.u3"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Switch.y"},"S231P:label":"Switch"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Switch.u1","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":60},{\"x\":-100,\"y\":100}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Switch.u2","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Boolean switch input signal, if true, y=u1, else y=u3","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Switch.u3","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]}}}","S231P:label":"u3"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Switch.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Booelan output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Timer","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Timer.u"},"S231P:hasOutput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Timer.passed"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Timer.y"}],"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Timer.t"},"S231P:label":"Timer"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Timer.passed","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"True if the elapsed time is greater than threshold","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-100},{\"x\":140,\"y\":-60}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-100},{\"x\":140,\"y\":-60}]}}}","S231P:label":"passed"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Timer.t","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Threshold time for comparison","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"t","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Timer.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Input that switches timer on if true, and off if false","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Timer.y","@type":"S231P:RealOutput","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Elapsed time","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TimerAccumulating","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TimerAccumulating.reset"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TimerAccumulating.u"}],"S231P:hasOutput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TimerAccumulating.passed"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TimerAccumulating.y"}],"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TimerAccumulating.t"},"S231P:label":"TimerAccumulating"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TimerAccumulating.passed","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"True if the elapsed time is greater than threshold","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-100},{\"x\":140,\"y\":-60}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-100},{\"x\":140,\"y\":-60}]}}}","S231P:label":"passed"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TimerAccumulating.reset","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector for signal that sets timer to zero if it switches to true","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]}}}","S231P:label":"reset"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TimerAccumulating.t","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Threshold time for comparison","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"t","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TimerAccumulating.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Input that switches timer on if true, and off if false","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TimerAccumulating.y","@type":"S231P:RealOutput","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Elapsed time","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Toggle","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Toggle.clr"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Toggle.u"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Toggle.y"},"S231P:label":"Toggle"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Toggle.clr","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Clear input","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"clr"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Toggle.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Toggle input","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Toggle.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueDelay","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueDelay.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueDelay.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueDelay.delayOnInit"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueDelay.delayTime"}],"S231P:label":"TrueDelay"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueDelay.delayOnInit","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Set to true to delay initial true input","S231P:isOfDataType":{"@id":"S231P:Boolean"},"S231P:label":"delayOnInit","S231P:value":false},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueDelay.delayTime","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Delay time","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"delayTime"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueDelay.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueDelay.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueFalseHold","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueFalseHold.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueFalseHold.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueFalseHold.falseHoldDuration"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueFalseHold.trueHoldDuration"}],"S231P:label":"TrueFalseHold"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueFalseHold.falseHoldDuration","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"false hold duration","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"falseHoldDuration","S231P:value":"trueHoldDuration"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueFalseHold.trueHoldDuration","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"true hold duration","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"trueHoldDuration"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueFalseHold.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-220,\"y\":-20},{\"x\":-180,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueFalseHold.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":160,\"y\":-20},{\"x\":200,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueHold","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueHold.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueHold.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueHold.duration"},"S231P:label":"TrueHold"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueHold.duration","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Time duration of the true output signal hold","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"duration"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueHold.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.TrueHold.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.VariablePulse","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.VariablePulse.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.VariablePulse.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.VariablePulse.deltaU"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.VariablePulse.minTruFalHol"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.VariablePulse.period"}],"S231P:label":["Cycle","VariablePulse"]},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.VariablePulse.deltaU","@type":"S231P:Parameter","qudt:hasUnit":{"@id":"S231P:1"},"S231P:accessSpecifier":"public","S231P:description":"Increment of u that triggers recomputation of output","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"deltaU","S231P:max":{"@value":"0.5","@type":"http://www.w3.org/2001/XMLSchema#decimal"},"S231P:min":{"@value":"0.001","@type":"http://www.w3.org/2001/XMLSchema#decimal"},"S231P:value":{"@value":"0.01","@type":"http://www.w3.org/2001/XMLSchema#decimal"}},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.VariablePulse.minTruFalHol","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Minimum time to hold true or false","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"minTruFalHol","S231P:min":"Constants.small","S231P:value":"0.01*period"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.VariablePulse.period","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Time for one pulse period","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"period"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.VariablePulse.u","@type":"S231P:RealInput","qudt:hasUnit":{"@id":"S231P:1"},"S231P:accessSpecifier":"public","S231P:description":"Ratio of the period that the output should be true","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-160,\"y\":-20},{\"x\":-120,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u","S231P:max":1,"S231P:min":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.VariablePulse.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Boolean pulse when the input is greater than zero","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":120,\"y\":-20},{\"x\":160,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Xor","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Xor.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Xor.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Xor.y"},"S231P:label":"Xor"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Xor.u1","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of first Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Xor.u2","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of second Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Logical.Xor.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.DewPoint_TDryBulPhi","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.DewPoint_TDryBulPhi.phi"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.DewPoint_TDryBulPhi.TDryBul"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.DewPoint_TDryBulPhi.TDewPoi"},"S231P:label":"DewPoint_TDryBulPhi"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.DewPoint_TDryBulPhi.phi","@type":"S231P:RealInput","qudt:hasUnit":{"@id":"S231P:1"},"S231P:accessSpecifier":"public","S231P:description":"Relative air humidity","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"phi","S231P:max":1,"S231P:min":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.DewPoint_TDryBulPhi.TDewPoi","@type":"S231P:RealOutput","qudt:hasQuantityKind":{"@id":"S231P:ThermodynamicTemperature"},"qudt:hasUnit":{"@id":"S231P:K"},"S231P:accessSpecifier":"public","S231P:description":"Dew point temperature","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"TDewPoi","S231P:min":100},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.DewPoint_TDryBulPhi.TDryBul","@type":"S231P:RealInput","qudt:hasQuantityKind":{"@id":"S231P:ThermodynamicTemperature"},"qudt:hasUnit":{"@id":"S231P:K"},"S231P:accessSpecifier":"public","S231P:description":"Dry bulb temperature","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}","S231P:label":"TDryBul","S231P:min":100},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.SpecificEnthalpy_TDryBulPhi","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.SpecificEnthalpy_TDryBulPhi.phi"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.SpecificEnthalpy_TDryBulPhi.TDryBul"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.SpecificEnthalpy_TDryBulPhi.h"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.SpecificEnthalpy_TDryBulPhi.pAtm"},"S231P:label":"SpecificEnthalpy_TDryBulPhi"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.SpecificEnthalpy_TDryBulPhi.h","@type":"S231P:RealOutput","qudt:hasQuantityKind":{"@id":"S231P:SpecificEnergy"},"qudt:hasUnit":{"@id":"https://data.ashrae.org/S231P#J/kg"},"S231P:accessSpecifier":"public","S231P:description":"Specific enthalpy","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"h"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.SpecificEnthalpy_TDryBulPhi.pAtm","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Pressure"},"qudt:hasUnit":{"@id":"S231P:Pa"},"S231P:accessSpecifier":"public","S231P:description":"Atmospheric pressure","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"pAtm","S231P:value":101325},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.SpecificEnthalpy_TDryBulPhi.phi","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Relative air humidity","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"phi","S231P:max":1,"S231P:min":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.SpecificEnthalpy_TDryBulPhi.TDryBul","@type":"S231P:RealInput","qudt:hasQuantityKind":{"@id":"S231P:ThermodynamicTemperature"},"qudt:hasUnit":{"@id":"S231P:K"},"S231P:accessSpecifier":"public","S231P:description":"Dry bulb temperature","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}","S231P:label":"TDryBul","S231P:min":100},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.WetBulb_TDryBulPhi","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.WetBulb_TDryBulPhi.phi"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.WetBulb_TDryBulPhi.TDryBul"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.WetBulb_TDryBulPhi.TWetBul"},"S231P:label":"WetBulb_TDryBulPhi"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.WetBulb_TDryBulPhi.phi","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Relative air humidity","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"phi","S231P:max":1,"S231P:min":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.WetBulb_TDryBulPhi.TDryBul","@type":"S231P:RealInput","qudt:hasQuantityKind":{"@id":"S231P:ThermodynamicTemperature"},"qudt:hasUnit":{"@id":"S231P:K"},"S231P:accessSpecifier":"public","S231P:description":"Dry bulb temperature","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}","S231P:label":"TDryBul","S231P:min":100},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Psychrometrics.WetBulb_TDryBulPhi.TWetBul","@type":"S231P:RealOutput","qudt:hasQuantityKind":{"@id":"S231P:ThermodynamicTemperature"},"qudt:hasUnit":{"@id":"S231P:K"},"S231P:accessSpecifier":"public","S231P:description":"Wet bulb temperature","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"TWetBul","S231P:min":100},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Abs","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Abs.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Abs.y"},"S231P:label":"Abs"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Abs.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Abs.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Acos","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Acos.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Acos.y"},"S231P:label":"Acos"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Acos.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Acos.y","@type":"S231P:RealOutput","qudt:hasUnit":{"@id":"S231P:rad"},"S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Add","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Add.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Add.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Add.y"},"S231P:label":"Add"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Add.u1","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal 1","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Add.u2","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal 2","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Add.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.AddParameter","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.AddParameter.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.AddParameter.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.AddParameter.p"},"S231P:label":"AddParameter"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.AddParameter.p","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Value to be added","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"p"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.AddParameter.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.AddParameter.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Asin","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Asin.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Asin.y"},"S231P:label":"Asin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Asin.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Asin.y","@type":"S231P:RealOutput","qudt:hasUnit":{"@id":"S231P:rad"},"S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Atan","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Atan.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Atan.y"},"S231P:label":"Atan"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Atan.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Atan.y","@type":"S231P:RealOutput","qudt:hasUnit":{"@id":"S231P:rad"},"S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Atan2","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Atan2.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Atan2.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Atan2.y"},"S231P:label":"Atan2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Atan2.u1","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal 1","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Atan2.u2","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal 2","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Atan2.y","@type":"S231P:RealOutput","qudt:hasUnit":{"@id":"S231P:rad"},"S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Average","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Average.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Average.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Average.y"},"S231P:label":"Average"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Average.u1","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal 1","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Average.u2","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal 2","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Average.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Cos","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Cos.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Cos.y"},"S231P:label":"Cos"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Cos.u","@type":"S231P:RealInput","qudt:hasUnit":{"@id":"S231P:rad"},"S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Cos.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Derivative","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Derivative.k"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Derivative.T"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Derivative.u"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Derivative.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Derivative.y_start"},"S231P:label":"Derivative"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Derivative.k","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector for gain signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":60},{\"x\":-100,\"y\":100}]}}}","S231P:label":"k"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Derivative.T","@type":"S231P:RealInput","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Time constant (T>0 required; T=0 is ideal derivative block)","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":20},{\"x\":-100,\"y\":60}]}}}","S231P:label":"T","S231P:min":"100*Buildings.Controls.OBC.CDL.Constants.eps"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Derivative.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Input to be differentiated","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Derivative.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Approximation of derivative du/dt","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Derivative.y_start","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Initial value of output (= state)","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Initialization\\\"\"}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"y_start","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Divide","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Divide.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Divide.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Divide.y"},"S231P:label":"Divide"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Divide.u1","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector for dividend","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Divide.u2","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector for divisor","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Divide.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector for quotient","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Exp","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Exp.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Exp.y"},"S231P:label":"Exp"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Exp.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Exp.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Greater","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Greater.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Greater.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Greater.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Greater.h"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Greater.pre_y_start"}],"S231P:label":["Greater","GreaterNoHysteresis","GreaterWithHysteresis"]},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Greater.h","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Hysteresis","S231P:graphics":"{\"name\":\"Evaluate\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"h","S231P:min":0,"S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Greater.pre_y_start","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Value of pre(y) at initial time","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Advanced\\\"\"}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Boolean"},"S231P:label":"pre_y_start","S231P:value":false},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Greater.u1","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Input u1","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Greater.u2","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Input u2","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Greater.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Output y","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.GreaterThreshold","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.GreaterThreshold.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.GreaterThreshold.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.GreaterThreshold.h"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.GreaterThreshold.pre_y_start"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.GreaterThreshold.t"}],"S231P:label":["GreaterNoHysteresis","GreaterThreshold","GreaterWithHysteresis"]},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.GreaterThreshold.h","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Hysteresis","S231P:graphics":"{\"name\":\"Evaluate\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"h","S231P:min":0,"S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.GreaterThreshold.pre_y_start","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Value of pre(y) at initial time","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Advanced\\\"\"}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Boolean"},"S231P:label":"pre_y_start","S231P:value":false},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.GreaterThreshold.t","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Threshold for comparison","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"t","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.GreaterThreshold.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Input","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.GreaterThreshold.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Output","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Hysteresis","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Hysteresis.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Hysteresis.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Hysteresis.pre_y_start"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Hysteresis.uHigh"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Hysteresis.uLow"}],"S231P:label":"Hysteresis"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Hysteresis.pre_y_start","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Value of pre(y) at initial time","S231P:isOfDataType":{"@id":"S231P:Boolean"},"S231P:label":"pre_y_start","S231P:value":false},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Hysteresis.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Hysteresis.uHigh","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"if y=false and u>uHigh, switch to y=true","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"uHigh"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Hysteresis.uLow","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"if y=true and u x1","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-60},{\"x\":-100,\"y\":-20}]}}}","S231P:label":"x2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Line.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"f(x) along the line specified by (x1, f1) and (x2, f2)","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Log","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Log.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Log.y"},"S231P:label":"Log"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Log.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Log.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Log10","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Log10.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Log10.y"},"S231P:label":"Log10"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Log10.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Log10.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixGain","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixGain.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixGain.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixGain.K"},"S231P:label":"MatrixGain"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixGain.K","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Gain matrix which is multiplied with the input","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"K","S231P:value":"[1,0;0,1]"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixGain.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixGain.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMax","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMax.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMax.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMax.nCol"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMax.nRow"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMax.rowMax"}],"S231P:label":"MatrixMax"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMax.nCol","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of columns in input matrix","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nCol","S231P:min":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMax.nRow","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of rows in input matrix","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nRow","S231P:min":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMax.rowMax","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"If true, outputs row-wise maximum, otherwise column-wise","S231P:isOfDataType":{"@id":"S231P:Boolean"},"S231P:label":"rowMax","S231P:value":true},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMax.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMax.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMin","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMin.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMin.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMin.nCol"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMin.nRow"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMin.rowMin"}],"S231P:label":"MatrixMin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMin.nCol","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of columns in input matrix","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nCol","S231P:min":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMin.nRow","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of rows in input matrix","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nRow","S231P:min":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMin.rowMin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"If true, outputs row-wise minimum, otherwise column-wise","S231P:isOfDataType":{"@id":"S231P:Boolean"},"S231P:label":"rowMin","S231P:value":true},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMin.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MatrixMin.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Max","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Max.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Max.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Max.y"},"S231P:label":"Max"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Max.u1","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal 1","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Max.u2","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal 2","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Max.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Min","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Min.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Min.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Min.y"},"S231P:label":"Min"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Min.u1","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal 1","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Min.u2","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal 2","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Min.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Modulo","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Modulo.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Modulo.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Modulo.y"},"S231P:label":"Modulo"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Modulo.u1","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal 1","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Modulo.u2","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal 2","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Modulo.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MovingAverage","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MovingAverage.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MovingAverage.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MovingAverage.delta"},"S231P:label":"MovingAverage"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MovingAverage.delta","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Time horizon over which the input is averaged","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"delta","S231P:min":{"@value":"0.00001","@type":"http://www.w3.org/2001/XMLSchema#decimal"}},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MovingAverage.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MovingAverage.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiMax","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiMax.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiMax.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiMax.nin"},"S231P:label":"MultiMax"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiMax.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of input connections","S231P:graphics":["{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connectorSizing\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}","{\"name\":\"HideResult\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}"],"S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin","S231P:min":0,"S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiMax.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":20},{\"x\":-100,\"y\":-20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiMax.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiMin","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiMin.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiMin.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiMin.nin"},"S231P:label":"MultiMin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiMin.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of input connections","S231P:graphics":["{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connectorSizing\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}","{\"name\":\"HideResult\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}"],"S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin","S231P:min":0,"S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiMin.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":20},{\"x\":-100,\"y\":-20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiMin.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiSum","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiSum.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiSum.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiSum.k"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiSum.nin"}],"S231P:label":"MultiSum"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiSum.k","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Input gains","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"k","S231P:value":"fill(1, nin)"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiSum.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of input connections","S231P:graphics":["{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connectorSizing\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}","{\"name\":\"HideResult\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}"],"S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin","S231P:min":0,"S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiSum.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":20},{\"x\":-100,\"y\":-20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiSum.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Multiply","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Multiply.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Multiply.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Multiply.y"},"S231P:label":"Multiply"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Multiply.u1","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal 1","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Multiply.u2","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal 2","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Multiply.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter.k"},"S231P:label":"MultiplyByParameter"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter.k","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Gain value multiplied with input signal","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"k"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Input signal connector","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Output signal connector","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID","@type":"S231P:ElementaryBlock","S231P:containsBlock":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.controlError"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.D"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.errD"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.errI1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.errI2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.errP"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.I"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.lim"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.P"}],"S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.u_m"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.u_s"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.controllerType"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.k"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.Nd"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.Ni"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.r"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.reverseActing"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.Td"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.Ti"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.xi_start"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.yd_start"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.yMax"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.yMin"}],"S231P:label":"PID"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.controlError","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract","S231P:accessSpecifier":"public","S231P:description":"Control error (set point - measurement)","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-200,\"y\":-16},{\"x\":-180,\"y\":4}]}}}","S231P:label":"controlError"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.controllerType","S231P:accessSpecifier":"public","S231P:description":"Type of controller","S231P:label":"controllerType","S231P:value":"Buildings.Controls.OBC.CDL.Types.SimpleController.PI"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.D","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Derivative","S231P:accessSpecifier":"public","S231P:description":"Derivative term","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-50,\"y\":60},{\"x\":-30,\"y\":80}]}}}","S231P:hasInstance":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.D.y_start"},"S231P:label":"D"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.D.y_start","S231P:isFinal":true,"S231P:value":"yd_start"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.errD","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract","S231P:accessSpecifier":"public","S231P:description":"D error","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":60},{\"x\":-120,\"y\":80}]}}}","S231P:label":"errD"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.errI1","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract","S231P:accessSpecifier":"public","S231P:description":"I error (before anti-windup compensation)","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-4},{\"x\":-120,\"y\":16}]}}}","S231P:label":"errI1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.errI2","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract","S231P:accessSpecifier":"public","S231P:description":"I error (after anti-windup compensation)","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-100,\"y\":-10},{\"x\":-80,\"y\":10}]}}}","S231P:label":"errI2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.errP","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract","S231P:accessSpecifier":"public","S231P:description":"P error","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":130},{\"x\":-120,\"y\":150}]}}}","S231P:label":"errP"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.I","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.IntegratorWithReset","S231P:accessSpecifier":"public","S231P:description":"Integral term","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-50,\"y\":-10},{\"x\":-30,\"y\":10}]}}}","S231P:hasInstance":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.I.k"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.I.y_start"}],"S231P:label":"I"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.I.k","S231P:isFinal":true,"S231P:value":"k/Ti"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.I.y_start","S231P:isFinal":true,"S231P:value":"xi_start"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.k","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Gain of controller","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Control gains\\\"\"}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"k","S231P:min":"100*Constants.eps","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.lim","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Limiter","S231P:accessSpecifier":"public","S231P:description":"Limiter","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":120,\"y\":80},{\"x\":140,\"y\":100}]}}}","S231P:hasInstance":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.lim.uMax"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.lim.uMin"}],"S231P:label":"lim"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.lim.uMax","S231P:isFinal":true,"S231P:value":"yMax"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.lim.uMin","S231P:isFinal":true,"S231P:value":"yMin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.Nd","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"The higher Nd, the more ideal the derivative block","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Advanced\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Derivative block\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":{\"logical_expression\":{\"logical_or\":[{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PD\"}],\"relation_operator\":\"==\"}]},{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PID\"}],\"relation_operator\":\"==\"}]}]}}}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"Nd","S231P:min":"100*Constants.eps","S231P:value":10},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.Ni","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Ni*Ti is time constant of anti-windup compensation","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Advanced\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Integrator anti-windup\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":{\"logical_expression\":{\"logical_or\":[{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PI\"}],\"relation_operator\":\"==\"}]},{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PID\"}],\"relation_operator\":\"==\"}]}]}}}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"Ni","S231P:min":"100*Constants.eps","S231P:value":{"@value":"0.9","@type":"http://www.w3.org/2001/XMLSchema#decimal"}},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.P","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","S231P:accessSpecifier":"public","S231P:description":"Gain for proportional control action","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-50,\"y\":130},{\"x\":-30,\"y\":150}]}}}","S231P:hasInstance":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.P.k"},"S231P:label":"P"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.P.k","S231P:isFinal":true,"S231P:value":"k"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.r","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Typical range of control error, used for scaling the control error","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"r","S231P:min":"100*Constants.eps","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.reverseActing","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Set to true for reverse acting, or false for direct acting control action","S231P:isOfDataType":{"@id":"S231P:Boolean"},"S231P:label":"reverseActing","S231P:value":true},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.Td","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Time constant of derivative block","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Control gains\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":{\"logical_expression\":{\"logical_or\":[{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PD\"}],\"relation_operator\":\"==\"}]},{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PID\"}],\"relation_operator\":\"==\"}]}]}}}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"Td","S231P:min":"100*Constants.eps","S231P:value":{"@value":"0.1","@type":"http://www.w3.org/2001/XMLSchema#decimal"}},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.Ti","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Time constant of integrator block","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Control gains\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":{\"logical_expression\":{\"logical_or\":[{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PI\"}],\"relation_operator\":\"==\"}]},{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PID\"}],\"relation_operator\":\"==\"}]}]}}}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"Ti","S231P:min":"100*Constants.eps","S231P:value":{"@value":"0.5","@type":"http://www.w3.org/2001/XMLSchema#decimal"}},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.u_m","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of measurement input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"origin\":{\"x\":0,\"y\":-220},\"extent\":[{\"x\":20,\"y\":-20},{\"x\":-20,\"y\":20}],\"rotation\":270},\"iconTransformation\":{\"origin\":{\"x\":0,\"y\":-120},\"extent\":[{\"x\":20,\"y\":-20},{\"x\":-20,\"y\":20}],\"rotation\":270}}}","S231P:label":"u_m"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.u_s","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of setpoint input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-260,\"y\":-20},{\"x\":-220,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u_s"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.xi_start","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Initial value of integrator state","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Advanced\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Initialization\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":{\"logical_expression\":{\"logical_or\":[{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PI\"}],\"relation_operator\":\"==\"}]},{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PID\"}],\"relation_operator\":\"==\"}]}]}}}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"xi_start","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of actuator output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":220,\"y\":-20},{\"x\":260,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.yd_start","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Initial value of derivative output","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Advanced\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Initialization\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":{\"logical_expression\":{\"logical_or\":[{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PD\"}],\"relation_operator\":\"==\"}]},{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PID\"}],\"relation_operator\":\"==\"}]}]}}}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"yd_start","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.yMax","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Upper limit of output","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Limits\\\"\"}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"yMax","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PID.yMin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Lower limit of output","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Limits\\\"\"}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"yMin","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset","@type":"S231P:ElementaryBlock","S231P:containsBlock":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.controlError"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.D"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.errD"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.errI1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.errI2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.errP"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.I"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.lim"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.P"}],"S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.trigger"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.u_m"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.u_s"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.controllerType"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.k"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.Nd"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.Ni"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.r"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.reverseActing"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.Td"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.Ti"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.xi_start"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.y_reset"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.yd_start"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.yMax"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.yMin"}],"S231P:label":"PIDWithReset"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.controlError","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract","S231P:accessSpecifier":"public","S231P:description":"Control error (set point - measurement)","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-200,\"y\":-16},{\"x\":-180,\"y\":4}]}}}","S231P:label":"controlError"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.controllerType","S231P:accessSpecifier":"public","S231P:description":"Type of controller","S231P:label":"controllerType","S231P:value":"Buildings.Controls.OBC.CDL.Types.SimpleController.PI"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.D","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Derivative","S231P:accessSpecifier":"public","S231P:description":"Derivative term","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-50,\"y\":60},{\"x\":-30,\"y\":80}]}}}","S231P:hasInstance":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.D.y_start"},"S231P:label":"D"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.D.y_start","S231P:isFinal":true,"S231P:value":"yd_start"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.errD","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract","S231P:accessSpecifier":"public","S231P:description":"D error","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":60},{\"x\":-120,\"y\":80}]}}}","S231P:label":"errD"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.errI1","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract","S231P:accessSpecifier":"public","S231P:description":"I error (before anti-windup compensation)","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-4},{\"x\":-120,\"y\":16}]}}}","S231P:label":"errI1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.errI2","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract","S231P:accessSpecifier":"public","S231P:description":"I error (after anti-windup compensation)","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-100,\"y\":-10},{\"x\":-80,\"y\":10}]}}}","S231P:label":"errI2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.errP","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract","S231P:accessSpecifier":"public","S231P:description":"P error","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":130},{\"x\":-120,\"y\":150}]}}}","S231P:label":"errP"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.I","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.IntegratorWithReset","S231P:accessSpecifier":"public","S231P:description":"Integral term","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-50,\"y\":-10},{\"x\":-30,\"y\":10}]}}}","S231P:hasInstance":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.I.k"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.I.y_start"}],"S231P:label":"I"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.I.k","S231P:isFinal":true,"S231P:value":"k/Ti"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.I.y_start","S231P:isFinal":true,"S231P:value":"xi_start"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.k","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Gain of controller","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Control gains\\\"\"}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"k","S231P:min":"100*Constants.eps","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.lim","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Limiter","S231P:accessSpecifier":"public","S231P:description":"Limiter","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":120,\"y\":80},{\"x\":140,\"y\":100}]}}}","S231P:hasInstance":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.lim.uMax"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.lim.uMin"}],"S231P:label":"lim"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.lim.uMax","S231P:isFinal":true,"S231P:value":"yMax"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.lim.uMin","S231P:isFinal":true,"S231P:value":"yMin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.Nd","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"The higher Nd, the more ideal the derivative block","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Advanced\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Derivative block\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":{\"logical_expression\":{\"logical_or\":[{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PD\"}],\"relation_operator\":\"==\"}]},{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PID\"}],\"relation_operator\":\"==\"}]}]}}}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"Nd","S231P:min":"100*Constants.eps","S231P:value":10},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.Ni","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Ni*Ti is time constant of anti-windup compensation","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Advanced\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Integrator anti-windup\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":{\"logical_expression\":{\"logical_or\":[{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PI\"}],\"relation_operator\":\"==\"}]},{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PID\"}],\"relation_operator\":\"==\"}]}]}}}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"Ni","S231P:min":"100*Constants.eps","S231P:value":{"@value":"0.9","@type":"http://www.w3.org/2001/XMLSchema#decimal"}},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.P","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter","S231P:accessSpecifier":"public","S231P:description":"Proportional action","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-50,\"y\":130},{\"x\":-30,\"y\":150}]}}}","S231P:hasInstance":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.P.k"},"S231P:label":"P"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.P.k","S231P:isFinal":true,"S231P:value":"k"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.r","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Typical range of control error, used for scaling the control error","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"r","S231P:min":"100*Constants.eps","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.reverseActing","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Set to true for reverse acting, or false for direct acting control action","S231P:isOfDataType":{"@id":"S231P:Boolean"},"S231P:label":"reverseActing","S231P:value":true},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.Td","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Time constant of derivative block","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Control gains\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":{\"logical_expression\":{\"logical_or\":[{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PD\"}],\"relation_operator\":\"==\"}]},{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PID\"}],\"relation_operator\":\"==\"}]}]}}}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"Td","S231P:min":"100*Constants.eps","S231P:value":{"@value":"0.1","@type":"http://www.w3.org/2001/XMLSchema#decimal"}},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.Ti","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Time constant of integrator block","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Control gains\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":{\"logical_expression\":{\"logical_or\":[{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PI\"}],\"relation_operator\":\"==\"}]},{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PID\"}],\"relation_operator\":\"==\"}]}]}}}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"Ti","S231P:min":"100*Constants.eps","S231P:value":{"@value":"0.5","@type":"http://www.w3.org/2001/XMLSchema#decimal"}},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.trigger","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Resets the controller output when trigger becomes true","S231P:graphics":"{\"Placement\":{\"transformation\":{\"origin\":{\"x\":-160,\"y\":-220},\"extent\":[{\"x\":-20,\"y\":-20},{\"x\":20,\"y\":20}],\"rotation\":90},\"iconTransformation\":{\"origin\":{\"x\":-60,\"y\":-120},\"extent\":[{\"x\":-20,\"y\":-20},{\"x\":20,\"y\":20}],\"rotation\":90}}}","S231P:label":"trigger"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.u_m","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of measurement input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"origin\":{\"x\":0,\"y\":-220},\"extent\":[{\"x\":20,\"y\":-20},{\"x\":-20,\"y\":20}],\"rotation\":270},\"iconTransformation\":{\"origin\":{\"x\":0,\"y\":-120},\"extent\":[{\"x\":20,\"y\":-20},{\"x\":-20,\"y\":20}],\"rotation\":270}}}","S231P:label":"u_m"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.u_s","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of setpoint input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-260,\"y\":-20},{\"x\":-220,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u_s"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.xi_start","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Initial value of integrator state","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Advanced\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Initialization\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":{\"logical_expression\":{\"logical_or\":[{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PI\"}],\"relation_operator\":\"==\"}]},{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PID\"}],\"relation_operator\":\"==\"}]}]}}}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"xi_start","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of actuator output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":220,\"y\":-20},{\"x\":260,\"y\":20}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.y_reset","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Value to which the controller output is reset if the boolean trigger has a rising edge","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":{\"logical_expression\":{\"logical_or\":[{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PI\"}],\"relation_operator\":\"==\"}]},{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PID\"}],\"relation_operator\":\"==\"}]}]}}}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Integrator reset\\\"\"}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"y_reset","S231P:value":"xi_start"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.yd_start","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Initial value of derivative output","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Advanced\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Initialization\\\"\"}}}}},{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":{\"logical_expression\":{\"logical_or\":[{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PD\"}],\"relation_operator\":\"==\"}]},{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"controllerType\"},{\"name\":\"CDL.Types.SimpleController.PID\"}],\"relation_operator\":\"==\"}]}]}}}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"yd_start","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.yMax","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Upper limit of output","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Limits\\\"\"}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"yMax","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.PIDWithReset.yMin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Lower limit of output","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"group\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Limits\\\"\"}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"yMin","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Ramp","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Ramp.active"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Ramp.u"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Ramp.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Ramp.fallingSlewRate"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Ramp.raisingSlewRate"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Ramp.Td"}],"S231P:label":"Ramp"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Ramp.active","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Set to true to enable rate limiter","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]},\"iconTransformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]}}}","S231P:label":"active"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Ramp.fallingSlewRate","@type":"S231P:Parameter","qudt:hasUnit":{"@id":"https://data.ashrae.org/S231P#1/s"},"S231P:accessSpecifier":"public","S231P:description":"Maximum speed with which to decrease the output","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"fallingSlewRate","S231P:max":"-Constants.small","S231P:value":"-raisingSlewRate"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Ramp.raisingSlewRate","@type":"S231P:Parameter","qudt:hasUnit":{"@id":"https://data.ashrae.org/S231P#1/s"},"S231P:accessSpecifier":"public","S231P:description":"Maximum speed with which to increase the output","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"raisingSlewRate","S231P:min":"Constants.small"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Ramp.Td","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Derivative time constant","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"Td","S231P:min":"Constants.eps","S231P:value":"raisingSlewRate*0.001"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Ramp.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Ramp.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Round","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Round.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Round.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Round.n"},"S231P:label":"Round"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Round.n","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of digits being round to","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"n"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Round.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Round.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sin","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sin.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sin.y"},"S231P:label":"Sin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sin.u","@type":"S231P:RealInput","qudt:hasUnit":{"@id":"S231P:rad"},"S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sin.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sort","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sort.u"},"S231P:hasOutput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sort.y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sort.yIdx"}],"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sort.ascending"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sort.nin"}],"S231P:label":"Sort"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sort.ascending","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Set to true if ascending order, otherwise order is descending","S231P:isOfDataType":{"@id":"S231P:Boolean"},"S231P:label":"ascending","S231P:value":true},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sort.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of input connections","S231P:graphics":["{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"connectorSizing\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}}}]}}","{\"name\":\"HideResult\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"true\"}}}"],"S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin","S231P:min":0,"S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sort.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sort.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sort.yIdx","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Indices of the sorted vector with respect to the original vector","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-80},{\"x\":140,\"y\":-40}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-80},{\"x\":140,\"y\":-40}]}}}","S231P:label":"yIdx"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CalendarTime","@type":"S231P:ElementaryBlock","S231P:hasOutput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CalendarTime.day"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CalendarTime.hour"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CalendarTime.minute"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CalendarTime.weekDay"}],"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CalendarTime.offset"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CalendarTime.yearRef"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CalendarTime.zerTim"}],"S231P:label":"CalendarTime"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CalendarTime.day","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Day of the month","S231P:fixed":false,"S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":20},{\"x\":120,\"y\":40}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":20},{\"x\":120,\"y\":40}]}}}","S231P:label":"day"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CalendarTime.hour","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Hour of the day","S231P:fixed":false,"S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":50},{\"x\":120,\"y\":70}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":50},{\"x\":120,\"y\":70}]}}}","S231P:label":"hour"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CalendarTime.minute","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Minute of the hour","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":80},{\"x\":120,\"y\":100}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":80},{\"x\":120,\"y\":100}]}}}","S231P:label":"minute"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CalendarTime.month","S231P:accessSpecifier":"public","S231P:description":"Month of the year","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-10},{\"x\":120,\"y\":10}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-10},{\"x\":120,\"y\":10}]}}}","S231P:label":"month"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CalendarTime.offset","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Offset that is added to 'time', may be used for computing time in different time zone","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"tab\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":\"\\\"Advanced\\\"\"}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"offset","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CalendarTime.weekDay","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Integer output representing week day (monday = 1, sunday = 7)","S231P:fixed":false,"S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-70},{\"x\":120,\"y\":-50}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-70},{\"x\":120,\"y\":-50}]}}}","S231P:label":"weekDay"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CalendarTime.year","S231P:accessSpecifier":"public","S231P:description":"Year","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-40},{\"x\":120,\"y\":-20}]},\"iconTransformation\":{\"extent\":[{\"x\":100,\"y\":-40},{\"x\":120,\"y\":-20}]}}}","S231P:label":"year"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CalendarTime.yearRef","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Year when time = 0, used if zerTim=Custom","S231P:graphics":"{\"name\":\"Dialog\",\"modification\":{\"class_modification\":[{\"element_modification_or_replaceable\":{\"element_modification\":{\"name\":\"enable\",\"modification\":{\"equal\":true,\"expression\":{\"simple_expression\":{\"logical_expression\":{\"logical_or\":[{\"logical_and\":[{\"arithmetic_expressions\":[{\"name\":\"zerTim\"},{\"name\":\"Buildings.Controls.OBC.CDL.Types.ZeroTime.Custom\"}],\"relation_operator\":\"==\"}]}]}}}}}}}]}}","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"yearRef","S231P:max":"lastYear","S231P:min":"firstYear","S231P:value":2016},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CalendarTime.zerTim","S231P:accessSpecifier":"public","S231P:description":"Enumeration for choosing how reference time (time = 0) should be defined","S231P:label":"zerTim"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CivilTime","@type":"S231P:ElementaryBlock","S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CivilTime.y"},"S231P:label":"CivilTime"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.CivilTime.y","@type":"S231P:RealOutput","qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Civil time","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Constant","@type":"S231P:ElementaryBlock","S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Constant.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Constant.k"},"S231P:label":"Constant"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Constant.k","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Constant output value","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"k"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Constant.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Pulse","@type":"S231P:ElementaryBlock","S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Pulse.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Pulse.amplitude"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Pulse.offset"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Pulse.period"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Pulse.shift"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Pulse.width"}],"S231P:label":"Pulse"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Pulse.amplitude","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Amplitude of pulse","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"amplitude","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Pulse.offset","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Offset of output signals","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"offset","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Pulse.period","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Time for one period","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"period","S231P:min":"Constants.small"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Pulse.shift","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Shift time for output","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"shift","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Pulse.width","@type":"S231P:Parameter","qudt:hasUnit":{"@id":"S231P:1"},"S231P:accessSpecifier":"public","S231P:description":"Width of pulse in fraction of period","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"width","S231P:max":1,"S231P:min":"Constants.small","S231P:value":{"@value":"0.5","@type":"http://www.w3.org/2001/XMLSchema#decimal"}},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Pulse.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Pulse output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Ramp","@type":"S231P:ElementaryBlock","S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Ramp.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Ramp.duration"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Ramp.height"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Ramp.offset"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Ramp.startTime"}],"S231P:label":"Ramp"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Ramp.duration","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Duration of ramp (= 0.0 gives a Step)","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"duration","S231P:min":"Constants.small"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Ramp.height","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Height of ramps","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"height","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Ramp.offset","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Offset of output signal","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"offset","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Ramp.startTime","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Output = offset for time < startTime","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"startTime","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Ramp.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Sin","@type":"S231P:ElementaryBlock","S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Sin.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Sin.amplitude"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Sin.freqHz"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Sin.offset"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Sin.phase"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Sin.startTime"}],"S231P:label":"Sin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Sin.amplitude","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Amplitude of sine wave","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"amplitude","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Sin.freqHz","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Frequency"},"qudt:hasUnit":{"@id":"S231P:Hz"},"S231P:accessSpecifier":"public","S231P:description":"Frequency of sine wave","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"freqHz","S231P:start":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Sin.offset","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Offset of output signal","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"offset","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Sin.phase","@type":"S231P:Parameter","qudt:hasDisplayUnit":{"@id":"S231P:deg"},"qudt:hasQuantityKind":{"@id":"S231P:Angle"},"qudt:hasUnit":{"@id":"S231P:rad"},"S231P:accessSpecifier":"public","S231P:description":"Phase of sine wave","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"phase","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Sin.startTime","@type":"S231P:Parameter","qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Output = offset for time < startTime","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"startTime","S231P:value":0},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.Sin.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable","@type":"S231P:ElementaryBlock","S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable.extrapolation"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable.offset"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable.smoothness"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable.table"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable.timeScale"}],"S231P:label":"TimeTable"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable.extrapolation","S231P:accessSpecifier":"public","S231P:description":"Extrapolation of data outside the definition range","S231P:label":"extrapolation","S231P:value":"CDL.Types.Extrapolation.Periodic"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable.offset","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Offsets of output signals as a vector with length equal to number of table matrix columns less one","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"offset","S231P:value":"fill(0, nout)"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable.smoothness","S231P:accessSpecifier":"public","S231P:description":"Smoothness of table interpolation","S231P:label":"smoothness","S231P:value":"CDL.Types.Smoothness.LinearSegments"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable.table","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Table matrix (time = first column is time in seconds, unless timeScale <> 1)","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"table"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable.timeScale","@type":"S231P:Parameter","qudt:hasUnit":{"@id":"S231P:1"},"S231P:accessSpecifier":"public","S231P:description":"Time scale of first table column. Set to 3600 if time in table is in hours","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"timeScale","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Output of the table","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sqrt","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sqrt.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sqrt.y"},"S231P:label":"Sqrt"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sqrt.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Sqrt.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract.u2"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract.y"},"S231P:label":"Subtract"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract.u1","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal 1","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":40},{\"x\":-100,\"y\":80}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract.u2","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal 2","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-80},{\"x\":-100,\"y\":-40}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Subtract.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Switch","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Switch.u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Switch.u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Switch.u3"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Switch.y"},"S231P:label":"Switch"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Switch.u1","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":60},{\"x\":-100,\"y\":100}]}}}","S231P:label":"u1"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Switch.u2","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Boolean switch input signal, if true, y=u1, else y=u3","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u2"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Switch.u3","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-100},{\"x\":-100,\"y\":-60}]}}}","S231P:label":"u3"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Switch.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Tan","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Tan.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Tan.y"},"S231P:label":"Tan"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Tan.u","@type":"S231P:RealInput","qudt:hasUnit":{"@id":"S231P:rad"},"S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Reals.Tan.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractSignal","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractSignal.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractSignal.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractSignal.extract"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractSignal.nin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractSignal.nout"}],"S231P:label":"BooleanExtractSignal"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractSignal.extract","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Extracting vector","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"extract","S231P:value":"1:nout"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractSignal.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of inputs","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractSignal.nout","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of outputs","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nout","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractSignal.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Boolean input signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractSignal.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Boolean signals extracted from the input vector with the extraction scheme specified by the integer vector","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractor","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractor.index"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractor.u"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractor.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractor.nin"},"S231P:label":"BooleanExtractor"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractor.index","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Index of input vector element to be extracted out","S231P:graphics":"{\"Placement\":{\"transformation\":{\"origin\":{\"x\":0,\"y\":-120},\"extent\":[{\"x\":-20,\"y\":-20},{\"x\":20,\"y\":20}],\"rotation\":90}}}","S231P:label":"index"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractor.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of inputs","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractor.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Boolean input signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanExtractor.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Boolean signal extracted from input vector, u[index]","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanScalarReplicator","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanScalarReplicator.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanScalarReplicator.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanScalarReplicator.nout"},"S231P:label":"BooleanScalarReplicator"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanScalarReplicator.nout","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of outputs","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nout","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanScalarReplicator.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanScalarReplicator.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorFilter","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorFilter.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorFilter.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorFilter.msk"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorFilter.nin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorFilter.nout"}],"S231P:label":"BooleanVectorFilter"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorFilter.msk","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Array mask","S231P:isOfDataType":{"@id":"S231P:Boolean"},"S231P:label":"msk","S231P:value":"fill(true, nin)"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorFilter.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Size of input vector","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorFilter.nout","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Size of output vector","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nout"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorFilter.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorFilter.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean output signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorReplicator","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorReplicator.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorReplicator.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorReplicator.nin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorReplicator.nout"}],"S231P:label":"BooleanVectorReplicator"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorReplicator.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Size of input vector","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorReplicator.nout","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of row in output","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nout","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorReplicator.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean vector input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.BooleanVectorReplicator.y","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Boolean matrix output signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractSignal","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractSignal.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractSignal.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractSignal.extract"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractSignal.nin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractSignal.nout"}],"S231P:label":"IntegerExtractSignal"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractSignal.extract","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Extracting vector","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"extract","S231P:value":"1:nout"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractSignal.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of inputs","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractSignal.nout","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of outputs","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nout","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractSignal.u","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Integer input signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractSignal.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Integer signals extracted from the input vector with the extraction scheme specified by the integer vector","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractor","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractor.index"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractor.u"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractor.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractor.nin"},"S231P:label":"IntegerExtractor"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractor.index","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Index of input vector element to be extracted out","S231P:graphics":"{\"Placement\":{\"transformation\":{\"origin\":{\"x\":0,\"y\":-120},\"extent\":[{\"x\":-20,\"y\":-20},{\"x\":20,\"y\":20}],\"rotation\":90}}}","S231P:label":"index"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractor.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of inputs","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractor.u","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Integer input signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerExtractor.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Integer signal extracted from input vector, u[index]","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerScalarReplicator","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerScalarReplicator.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerScalarReplicator.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerScalarReplicator.nout"},"S231P:label":"IntegerScalarReplicator"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerScalarReplicator.nout","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of outputs","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nout","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerScalarReplicator.u","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerScalarReplicator.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer output signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorFilter","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorFilter.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorFilter.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorFilter.msk"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorFilter.nin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorFilter.nout"}],"S231P:label":"IntegerVectorFilter"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorFilter.msk","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Array mask","S231P:isOfDataType":{"@id":"S231P:Boolean"},"S231P:label":"msk","S231P:value":"fill(true, nin)"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorFilter.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Size of input vector","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorFilter.nout","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Size of output vector","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nout"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorFilter.u","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorFilter.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer output signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorReplicator","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorReplicator.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorReplicator.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorReplicator.nin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorReplicator.nout"}],"S231P:label":"IntegerVectorReplicator"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorReplicator.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Size of input vector","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorReplicator.nout","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of row in output","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nout","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorReplicator.u","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer vector input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.IntegerVectorReplicator.y","@type":"S231P:IntegerOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Integer matrix output signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractSignal","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractSignal.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractSignal.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractSignal.extract"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractSignal.nin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractSignal.nout"}],"S231P:label":"RealExtractSignal"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractSignal.extract","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Extracting vector","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"extract","S231P:value":"1:nout"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractSignal.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of inputs","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractSignal.nout","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of outputs","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nout","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractSignal.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Real input signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractSignal.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Real signals extracted from the input vector with the extraction scheme specified by the integer vector","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractor","@type":"S231P:ElementaryBlock","S231P:hasInput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractor.index"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractor.u"}],"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractor.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractor.nin"},"S231P:label":"RealExtractor"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractor.index","@type":"S231P:IntegerInput","S231P:accessSpecifier":"public","S231P:description":"Index of input vector element to be extracted out","S231P:graphics":"{\"Placement\":{\"transformation\":{\"origin\":{\"x\":0,\"y\":-120},\"extent\":[{\"x\":-20,\"y\":-20},{\"x\":20,\"y\":20}],\"rotation\":90}}}","S231P:label":"index"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractor.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of inputs","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractor.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Real input signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealExtractor.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Real signal extracted from input vector, u[index]","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator.y"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator.nout"},"S231P:label":"RealScalarReplicator"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator.nout","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of outputs","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nout","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorFilter","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorFilter.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorFilter.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorFilter.msk"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorFilter.nin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorFilter.nout"}],"S231P:label":"RealVectorFilter"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorFilter.msk","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Array mask","S231P:isOfDataType":{"@id":"S231P:Boolean"},"S231P:label":"msk","S231P:value":"fill(true, nin)"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorFilter.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Size of input vector","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorFilter.nout","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Size of output vector","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nout"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorFilter.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorFilter.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real output signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorReplicator","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorReplicator.u"},"S231P:hasOutput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorReplicator.y"},"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorReplicator.nin"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorReplicator.nout"}],"S231P:label":"RealVectorReplicator"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorReplicator.nin","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Size of input vector","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nin","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorReplicator.nout","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Number of row in output","S231P:isOfDataType":{"@id":"S231P:Integer"},"S231P:label":"nout","S231P:value":1},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorReplicator.u","@type":"S231P:RealInput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real vector input signal","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Routing.RealVectorReplicator.y","@type":"S231P:RealOutput","S231P:accessSpecifier":"public","S231P:description":"Connector of Real matrix output signals","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"y"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.Extrapolation","@type":"S231P:EnumerationType","S231P:description":"Enumeration defining the extrapolation of time table interpolation","S231P:label":"Extrapolation"},{"@id":"https://data.ashrae.org/S231P#Extrapolation.HoldLastPoint","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.Extrapolation","S231P:description":"Hold the first/last table point outside of the table scope","S231P:label":"HoldLastPoint"},{"@id":"https://data.ashrae.org/S231P#Extrapolation.LastTwoPoints","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.Extrapolation","S231P:description":"Extrapolate by using the derivative at the first/last table points outside of the table scope","S231P:label":"LastTwoPoints"},{"@id":"https://data.ashrae.org/S231P#Extrapolation.Periodic","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.Extrapolation","S231P:description":"Repeat the table scope periodically","S231P:label":"Periodic"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.SimpleController","@type":"S231P:EnumerationType","S231P:description":"Enumeration defining P, PI, PD, or PID simple controller type","S231P:label":"SimpleController"},{"@id":"https://data.ashrae.org/S231P#SimpleController.P","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.SimpleController","S231P:description":"P controller","S231P:label":"P"},{"@id":"https://data.ashrae.org/S231P#SimpleController.PD","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.SimpleController","S231P:description":"PD controller","S231P:label":"PD"},{"@id":"https://data.ashrae.org/S231P#SimpleController.PI","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.SimpleController","S231P:description":"PI controller","S231P:label":"PI"},{"@id":"https://data.ashrae.org/S231P#SimpleController.PID","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.SimpleController","S231P:description":"PID controller","S231P:label":"PID"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.Smoothness","@type":"S231P:EnumerationType","S231P:description":"Enumeration defining the smoothness of table interpolation","S231P:label":"Smoothness"},{"@id":"https://data.ashrae.org/S231P#Smoothness.ConstantSegments","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.Smoothness","S231P:description":"Table points are not interpolated, but the previous tabulated value is returned","S231P:label":"ConstantSegments"},{"@id":"https://data.ashrae.org/S231P#Smoothness.LinearSegments","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.Smoothness","S231P:description":"Table points are linearly interpolated","S231P:label":"LinearSegments"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","@type":"S231P:EnumerationType","S231P:description":"Use this to set the date corresponding to time = 0","S231P:label":"ZeroTime"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.Custom","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"User specified local time","S231P:label":"Custom"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2010","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2010, 00:00:00 local time","S231P:label":"NY2010"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2011","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2011, 00:00:00 local time","S231P:label":"NY2011"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2012","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2012, 00:00:00 local time","S231P:label":"NY2012"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2013","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2013, 00:00:00 local time","S231P:label":"NY2013"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2014","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2014, 00:00:00 local time","S231P:label":"NY2014"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2015","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2015, 00:00:00 local time","S231P:label":"NY2015"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2016","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2016, 00:00:00 local time","S231P:label":"NY2016"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2017","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2017, 00:00:00 local time","S231P:label":"NY2017"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2018","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2018, 00:00:00 local time","S231P:label":"NY2018"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2019","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2019, 00:00:00 local time","S231P:label":"NY2019"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2020","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2020, 00:00:00 local time","S231P:label":"NY2020"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2021","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2021, 00:00:00 local time","S231P:label":"NY2021"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2022","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2022, 00:00:00 local time","S231P:label":"NY2022"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2023","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2023, 00:00:00 local time","S231P:label":"NY2023"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2024","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2024, 00:00:00 local time","S231P:label":"NY2024"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2025","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2025, 00:00:00 local time","S231P:label":"NY2025"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2026","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2026, 00:00:00 local time","S231P:label":"NY2026"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2027","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2027, 00:00:00 local time","S231P:label":"NY2027"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2028","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2028, 00:00:00 local time","S231P:label":"NY2028"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2029","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2029, 00:00:00 local time","S231P:label":"NY2029"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2030","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2030, 00:00:00 local time","S231P:label":"NY2030"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2031","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2031, 00:00:00 local time","S231P:label":"NY2031"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2032","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2032, 00:00:00 local time","S231P:label":"NY2032"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2033","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2033, 00:00:00 local time","S231P:label":"NY2033"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2034","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2034, 00:00:00 local time","S231P:label":"NY2034"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2035","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2035, 00:00:00 local time","S231P:label":"NY2035"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2036","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2036, 00:00:00 local time","S231P:label":"NY2036"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2037","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2037, 00:00:00 local time","S231P:label":"NY2037"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2038","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2038, 00:00:00 local time","S231P:label":"NY2038"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2039","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2039, 00:00:00 local time","S231P:label":"NY2039"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2040","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2040, 00:00:00 local time","S231P:label":"NY2040"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2041","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2041, 00:00:00 local time","S231P:label":"NY2041"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2042","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2042, 00:00:00 local time","S231P:label":"NY2042"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2043","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2043, 00:00:00 local time","S231P:label":"NY2043"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2044","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2044, 00:00:00 local time","S231P:label":"NY2044"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2045","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2045, 00:00:00 local time","S231P:label":"NY2045"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2046","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2046, 00:00:00 local time","S231P:label":"NY2046"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2047","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2047, 00:00:00 local time","S231P:label":"NY2047"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2048","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2048, 00:00:00 local time","S231P:label":"NY2048"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2049","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2049, 00:00:00 local time","S231P:label":"NY2049"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.NY2050","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"New year 2050, 00:00:00 local time","S231P:label":"NY2050"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.UnixTimeStamp","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"Thu, 01 Jan 1970 00:00:00 local time","S231P:label":"UnixTimeStamp"},{"@id":"https://data.ashrae.org/S231P#ZeroTime.UnixTimeStampGMT","@type":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Types.ZeroTime","S231P:description":"Thu, 01 Jan 1970 00:00:00 GMT","S231P:label":"UnixTimeStampGMT"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Utilities.Assert","@type":"S231P:ElementaryBlock","S231P:hasInput":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Utilities.Assert.u"},"S231P:hasParameter":{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Utilities.Assert.message"},"S231P:label":"Assert"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Utilities.Assert.message","@type":"S231P:Parameter","S231P:accessSpecifier":"public","S231P:description":"Message written when u becomes false","S231P:isOfDataType":{"@id":"S231P:String"},"S231P:label":"message"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Utilities.Assert.u","@type":"S231P:BooleanInput","S231P:accessSpecifier":"public","S231P:description":"Boolean input that triggers assert when it becomes false","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":-140,\"y\":-20},{\"x\":-100,\"y\":20}]}}}","S231P:label":"u"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Utilities.SunRiseSet","@type":"S231P:ElementaryBlock","S231P:hasOutput":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Utilities.SunRiseSet.nextSunRise"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Utilities.SunRiseSet.nextSunSet"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Utilities.SunRiseSet.sunUp"}],"S231P:hasParameter":[{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Utilities.SunRiseSet.lat"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Utilities.SunRiseSet.lon"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Utilities.SunRiseSet.timZon"}],"S231P:label":["SunRiseSet","computeSunRise","computeSunSet","nextHourAngle"]},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Utilities.SunRiseSet.lat","@type":"S231P:Parameter","qudt:hasDisplayUnit":{"@id":"S231P:deg"},"qudt:hasQuantityKind":{"@id":"S231P:Angle"},"qudt:hasUnit":{"@id":"S231P:rad"},"S231P:accessSpecifier":"public","S231P:description":"Latitude","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"lat"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Utilities.SunRiseSet.lon","@type":"S231P:Parameter","qudt:hasDisplayUnit":{"@id":"S231P:deg"},"qudt:hasQuantityKind":{"@id":"S231P:Angle"},"qudt:hasUnit":{"@id":"S231P:rad"},"S231P:accessSpecifier":"public","S231P:description":"Longitude","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"lon"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Utilities.SunRiseSet.nextSunRise","@type":"S231P:RealOutput","qudt:hasDisplayUnit":{"@id":"S231P:h"},"qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Time of next sunrise","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":40},{\"x\":140,\"y\":80}]}}}","S231P:label":"nextSunRise"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Utilities.SunRiseSet.nextSunSet","@type":"S231P:RealOutput","qudt:hasDisplayUnit":{"@id":"S231P:h"},"qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Time of next sunset","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-20},{\"x\":140,\"y\":20}]}}}","S231P:label":"nextSunSet"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Utilities.SunRiseSet.sunUp","@type":"S231P:BooleanOutput","S231P:accessSpecifier":"public","S231P:description":"Output true if the sun is up","S231P:graphics":"{\"Placement\":{\"transformation\":{\"extent\":[{\"x\":100,\"y\":-80},{\"x\":140,\"y\":-40}]}}}","S231P:label":"sunUp"},{"@id":"https://data.ashrae.org/S231P#Buildings.Controls.OBC.CDL.Utilities.SunRiseSet.timZon","@type":"S231P:Parameter","qudt:hasDisplayUnit":{"@id":"S231P:h"},"qudt:hasQuantityKind":{"@id":"S231P:Time"},"qudt:hasUnit":{"@id":"S231P:s"},"S231P:accessSpecifier":"public","S231P:description":"Time zone","S231P:isOfDataType":{"@id":"S231P:Real"},"S231P:label":"timZon"},{"@id":"S231P:accessSpecifier","@type":"rdf:Property"},{"@id":"S231P:Analog","@type":["S231P:AnalogDataType","S231P:DataType"]},{"@id":"S231P:AnalogDataType","@type":"rdfs:Class","rdfs:subClassOf":{"@id":"S231P:DataType"}},{"@id":"S231P:AnalogInput","@type":["rdfs:Class","sh:NodeShape"],"rdfs:comment":"An input connector for real data type","rdfs:subClassOf":{"@id":"S231P:InputConnector"},"sh:property":{"sh:class":{"@id":"S231P:AnalogDataType"},"sh:maxCount":1,"sh:minCount":1,"sh:path":{"@id":"S231P:isOfDataType"}},"sh:targetClass":{"@id":"S231P:AnalogInput"}},{"@id":"S231P:AnalogOutput","@type":["rdfs:Class","sh:NodeShape"],"rdfs:comment":"An output connector for analog data type","rdfs:subClassOf":{"@id":"S231P:OutputConnector"},"sh:property":{"@type":"sh:PropertyShape","sh:class":{"@id":"S231P:AnalogDataType"},"sh:maxCount":1,"sh:minCount":1,"sh:path":{"@id":"S231P:isOfDataType"}},"sh:targetClass":{"@id":"S231P:AnalogOutput"}},{"@id":"S231P:Block","@type":"rdfs:Class","rdfs:comment":"A block is the abstract interface of a control sequence","rdfs:label":"Block"},{"@id":"S231P:Boolean","@type":["S231P:BooleanDataType","S231P:DataType"]},{"@id":"S231P:BooleanDataType","@type":"rdfs:Class","rdfs:subClassOf":{"@id":"S231P:DataType"}},{"@id":"S231P:cdlLineNumEnd","@type":"rdf:Property"},{"@id":"S231P:cdlLineNumStart","@type":"rdf:Property"},{"@id":"S231P:CompositeBlock","@type":"rdfs:Class","rdfs:comment":"A composite block is a function implemented as a collection of elementary blocks or other composite blocks","rdfs:label":"CompositeBlock","rdfs:subClassOf":{"@id":"S231P:Block"}},{"@id":"S231P:connectedTo","@type":"rdf:Property","rdfs:comment":"Used to connect the output of one block to the input of a block. Only connectors that carry the same data type can be connected","rdfs:domain":{"@id":"S231P:Connector"},"rdfs:label":"connected to","rdfs:range":{"@id":"S231P:Connector"}},{"@id":"S231P:Connector","@type":["rdfs:Class","sh:NodeShape"],"rdfs:comment":"The Connector class is used by blocks to expose their inputs and outputs","rdfs:label":"Connector","sh:property":{"sh:class":{"@id":"S231P:DataType"},"sh:maxCount":1,"sh:message":"This Connector must be associated with exactly 1 Datatype.","sh:path":{"@id":"S231P:isOfDataType"}}},{"@id":"S231P:Constant","@type":"rdfs:Class","rdfs:comment":"A constant is a value that is fixed at compilation time. A block can have multiple constants","rdfs:label":"Constant","sh:property":[{"rdfs:comment":"A boolean to indicate whether this constant is instantiated or not","sh:datatype":{"@id":"xsd:boolean"},"sh:path":{"@id":"S231P:instantiate"}},{"rdfs:comment":"A boolean to indicate whether this is a fixed value constant or not","sh:datatype":{"@id":"xsd:boolean"},"sh:path":{"@id":"S231P:fixed"}},{"rdfs:comment":"A decimal value associated with the constant","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:value"}},{"rdfs:comment":"Access specifier for the constant in CDL (public/protected). Default: public","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:accessSpecifier"}},{"rdfs:comment":"An integer value indicating the ending line number for the constant definition in the CDL sequence","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:cdlLineNumEnd"}},{"rdfs:comment":"An integer value indicating the starting line number for the constant definition in the CDL sequence","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:cdlLineNumStart"}},{"rdfs:comment":"Description for an constant","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:description"}},{"rdfs:comment":"The QuantityKind associated with the constant","sh:class":{"@id":"qudt:QuantityKind"},"sh:path":{"@id":"S231P:quantity"}},{"rdfs:comment":"The label assigned to the constant","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:label"}},{"rdfs:comment":"The maximum allowable value for the constant","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:max"}},{"rdfs:comment":"The minimum allowable value for the constant","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:min"}},{"rdfs:comment":"The name assigned to the constant","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:name"}},{"rdfs:comment":"The nominal decimal value associated with the constant","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:nominal"}},{"rdfs:comment":"The path to the graphical representation of the constant","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:graphics"}},{"rdfs:comment":"The starting decimal value associated with the constant","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:start"}},{"rdfs:comment":"The unit of the constant used for controls and calculations","sh:class":{"@id":"qudt:Unit"},"sh:path":{"@id":"S231P:unit"}},{"rdfs:comment":"The unit of the constant used for display and graphics","sh:class":{"@id":"qudt:Unit"},"sh:path":{"@id":"S231P:displayUnit"}},{"sh:class":{"@id":"S231P:Block"},"sh:maxCount":1,"sh:message":"This Constant must be associated with exactly 1 Block","sh:minCount":1,"sh:path":{"sh:inversePath":{"@id":"S231P:hasConstant"}}},{"sh:class":{"@id":"S231P:DataType"},"sh:maxCount":1,"sh:message":"This Constant must be associated with exactly 1 Datatype","sh:path":{"@id":"S231P:isOfDataType"},"sh:severity":{"@id":"sh:Info"}}]},{"@id":"S231P:containsBlock","@type":"rdf:Property","rdfs:comment":"Used in composite block to include other blocks","rdfs:domain":{"@id":"S231P:Block"},"rdfs:label":"contains block","rdfs:range":{"@id":"S231P:Block"}},{"@id":"S231P:DataType","@type":"rdfs:Class","rdfs:comment":"A data type description for function block connectors, parameters, and constants","rdfs:label":"DataType"},{"@id":"S231P:description","@type":"rdf:Property"},{"@id":"S231P:displayUnit","@type":"rdf:Property"},{"@id":"S231P:ElementaryBlock","@type":"rdfs:Class","rdfs:comment":"An elementary block defined by ASHRAE S231P","rdfs:label":"ElementaryBlock","rdfs:subClassOf":{"@id":"S231P:Block"}},{"@id":"S231P:EnumerationDatatype","@type":"rdfs:Class","rdfs:subClassOf":{"@id":"S231P:Datatype"}},{"@id":"S231P:EnumerationType","@type":["S231P:Datatype","S231P:EnumerationDatatype"]},{"@id":"S231P:ExtensionBlock","@type":"rdfs:Class","rdfs:comment":"An extension block supports functionalities that cannot, or are hard to, implement with a composite block. \n They allow, for example, implementation of blocks that contain statistical functions, fault detection and diagnostics methods, as well as proprietary code. \n They are intended to define new elementary blocks beyond those defined in this standard","rdfs:label":"ExtensionBlock","rdfs:subClassOf":{"@id":"S231P:Block"}},{"@id":"S231P:fixed","@type":"rdf:Property"},{"@id":"S231P:graphics","@type":"rdf:Property"},{"@id":"S231P:hasConstant","@type":"rdf:Property","rdfs:comment":"Used to define a constant for a block","rdfs:domain":{"@id":"S231P:Block"},"rdfs:label":"has input connector","rdfs:range":{"@id":"S231P:Constant"}},{"@id":"S231P:hasInput","@type":"rdf:Property","rdfs:comment":"Used to define an input connector for a block","rdfs:domain":{"@id":"S231P:Block"},"rdfs:label":"has input connector","rdfs:range":{"@id":"S231P:InputConnector"}},{"@id":"S231P:hasInstance","@type":"rdf:Property","rdfs:comment":"Used to define an instance (input, output, parameter or constant) for a block","rdfs:domain":{"@id":"S231P:Block"},"rdfs:label":"has instance"},{"@id":"S231P:hasOutput","@type":"rdf:Property","rdfs:comment":"Used to define an output connector for a block","rdfs:domain":{"@id":"S231P:Block"},"rdfs:label":"has output connector","rdfs:range":{"@id":"S231P:OutputConnector"}},{"@id":"S231P:hasParameter","@type":"rdf:Property","rdfs:comment":"Used to define a parameter for a block","rdfs:domain":{"@id":"S231P:Block"},"rdfs:label":"has parameter","rdfs:range":{"@id":"S231P:Parameter"}},{"@id":"S231P:InputConnector","@type":["rdfs:Class","sh:NodeShape"],"rdfs:comment":"An input connector is a connector that provides an input to a block","rdfs:label":"InputConnector","rdfs:subClassOf":{"@id":"S231P:Connector"},"sh:property":[{"rdfs:comment":"A boolean to indicate whether this input is instantiated or not","sh:datatype":{"@id":"xsd:boolean"},"sh:path":{"@id":"S231P:instantiate"}},{"rdfs:comment":"A boolean to indicate whether this is a fixed input or not","sh:datatype":{"@id":"xsd:boolean"},"sh:path":{"@id":"S231P:fixed"}},{"rdfs:comment":"A decimal value associated with the input connector","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:value"}},{"rdfs:comment":"Access specifier for the input connector in CDL (public/protected). Default: public","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:accessSpecifier"}},{"rdfs:comment":"An integer value indicating the ending line number for the input connector definition in the CDL sequence","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:cdlLineNumEnd"}},{"rdfs:comment":"An integer value indicating the starting line number for the input connector definition in the CDL sequence","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:cdlLineNumStart"}},{"rdfs:comment":"Description for an input connector","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:description"}},{"rdfs:comment":"The QuantityKind associated with the input connector","sh:class":{"@id":"qudt:QuantityKind"},"sh:path":{"@id":"S231P:quantity"}},{"rdfs:comment":"The label assigned to the input connector","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:label"}},{"rdfs:comment":"The maximum allowable value for the input connector","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:max"}},{"rdfs:comment":"The minimum allowable value for the input connector","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:min"}},{"rdfs:comment":"The nominal decimal value associated with the input connector","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:nominal"}},{"rdfs:comment":"The path to the graphical representation of the input connector","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:graphics"}},{"rdfs:comment":"The starting decimal value associated with the input connector","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:start"}},{"rdfs:comment":"The unit of the input connector used for controls and calculations","sh:class":{"@id":"qudt:Unit"},"sh:path":{"@id":"S231P:hasUnit"}},{"rdfs:comment":"The unit of the input connector used for display and graphics","sh:class":{"@id":"qudt:Unit"},"sh:path":{"@id":"S231P:hasDisplayUnit"}},{"sh:class":{"@id":"S231P:Block"},"sh:maxCount":1,"sh:message":"This InputConnector must be associated with exactly 1 Block","sh:minCount":1,"sh:path":{"sh:inversePath":{"@id":"S231P:hasInput"}}}]},{"@id":"S231P:instantiate","@type":"rdf:Property"},{"@id":"S231P:Integer","@type":["S231P:DataType","S231P:IntegerDataType"]},{"@id":"S231P:IntegerDataType","@type":"rdfs:Class","rdfs:subClassOf":{"@id":"S231P:DataType"}},{"@id":"S231P:IntegerInput","@type":["rdfs:Class","sh:NodeShape"],"rdfs:comment":"An input connector for integer data type","rdfs:subClassOf":{"@id":"S231P:InputConnector"},"sh:property":{"@type":"sh:PropertyShape","sh:class":{"@id":"S231P:IntegerDataType"},"sh:maxCount":1,"sh:minCount":1,"sh:path":{"@id":"S231P:isOfDataType"}},"sh:targetClass":{"@id":"S231P:IntegerInput"}},{"@id":"S231P:IntegerOutput","@type":["rdfs:Class","sh:NodeShape"],"rdfs:comment":"An output connector for integer data type","rdfs:subClassOf":{"@id":"S231P:OutputConnector"},"sh:property":{"@type":"sh:PropertyShape","sh:class":{"@id":"S231P:IntegerDatatype"},"sh:maxCount":1,"sh:minCount":1,"sh:path":{"@id":"S231P:isOfDataType"}},"sh:targetClass":{"@id":"S231P:IntegerOutput"}},{"@id":"S231P:isOfDataType","@type":"rdf:Property","rdfs:comment":"Used to define the data type for input connectors, output connectors, parameters and constants","rdfs:label":"is of DataType","rdfs:range":{"@id":"S231P:DataType"}},{"@id":"S231P:label","@type":"rdf:Property"},{"@id":"S231P:max","@type":"rdf:Property"},{"@id":"S231P:min","@type":"rdf:Property"},{"@id":"S231P:name","@type":"rdf:Property"},{"@id":"S231P:nominal","@type":"rdf:Property"},{"@id":"S231P:OutputConnector","@type":["rdfs:Class","sh:NodeShape"],"rdfs:comment":"An output connector is a connector that provides an output from a block","rdfs:label":"OutputConnector","rdfs:subClassOf":{"@id":"S231P:Connector"},"sh:property":[{"rdfs:comment":"A boolean to indicate whether this is a fixed output or not","sh:datatype":{"@id":"xsd:boolean"},"sh:path":{"@id":"S231P:fixed"}},{"rdfs:comment":"A boolean to indicate whether this output is instantiated or not","sh:datatype":{"@id":"xsd:boolean"},"sh:path":{"@id":"S231P:instantiate"}},{"rdfs:comment":"A decimal value associated with the output connector","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:value"}},{"rdfs:comment":"Access specifier for the output connector in CDL (public/protected). Default: public","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:accessSpecifier"}},{"rdfs:comment":"An integer value indicating the ending line number for the output connector definition in the CDL sequence","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:cdlLineNumEnd"}},{"rdfs:comment":"An integer value indicating the starting line number for the output connector definition in the CDL sequence","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:cdlLineNumStart"}},{"rdfs:comment":"Description for an output connector","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:description"}},{"rdfs:comment":"The QuantityKind associated with the output connector","sh:class":{"@id":"qudt:QuantityKind"},"sh:path":{"@id":"S231P:quantity"}},{"rdfs:comment":"The label assigned to the output connector","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:label"}},{"rdfs:comment":"The maximum allowable value for the output connector","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:max"}},{"rdfs:comment":"The minimum allowable value for the output connector","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:min"}},{"rdfs:comment":"The name assigned to the output connector","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:name"}},{"rdfs:comment":"The nominal decimal value associated with the output connector","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:nominal"}},{"rdfs:comment":"The path to the graphical representation of the output connector","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:graphics"}},{"rdfs:comment":"The starting decimal value associated with the output connector","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:start"}},{"rdfs:comment":"The unit of the output connector used for controls and calculations","sh:class":{"@id":"qudt:Unit"},"sh:path":{"@id":"S231P:hasUnit"}},{"rdfs:comment":"The unit of the output connector used for display and graphics","sh:class":{"@id":"qudt:Unit"},"sh:path":{"@id":"S231P:hasDisplayUnit"}},{"sh:class":{"@id":"S231P:Block"},"sh:maxCount":1,"sh:message":"This OutputConnector must be associated with exactly 1 Block","sh:minCount":1,"sh:path":{"sh:inversePath":{"@id":"S231P:hasOutput"}}}]},{"@id":"S231P:Package","@type":"rdfs:Class","rdfs:comment":"A package is a specialized class used to group multiple blocks","rdfs:label":"Block"},{"@id":"S231P:Parameter","@type":["rdfs:Class","sh:NodeShape"],"rdfs:comment":"A parameter is a value that is time-invariant and cannot be changed based on an input signal. A block can have multiple parameters.","rdfs:label":"Parameter","sh:property":[{"rdfs:comment":"A boolean to indicate whether this is a fixed value parameter or not","sh:datatype":{"@id":"xsd:boolean"},"sh:path":{"@id":"S231P:fixed"}},{"rdfs:comment":"A boolean to indicate whether this parameter is instantiated or not","sh:datatype":{"@id":"xsd:boolean"},"sh:path":{"@id":"S231P:instantiate"}},{"rdfs:comment":"A decimal value associated with the parameter","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:value"}},{"rdfs:comment":"Access specifier for the parameter in CDL (public/protected). Default: public","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:accessSpecifier"}},{"rdfs:comment":"An integer value indicating the ending line number for the parameter definition in the CDL sequence","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:cdlLineNumEnd"}},{"rdfs:comment":"An integer value indicating the starting line number for the parameter definition in the CDL sequence","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:cdlLineNumStart"}},{"rdfs:comment":"Description for an parameter","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:description"}},{"rdfs:comment":"The QuantityKind associated with the parameter","sh:class":{"@id":"qudt:QuantityKind"},"sh:path":{"@id":"S231P:quantity"}},{"rdfs:comment":"The label assigned to the parameter","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:label"}},{"rdfs:comment":"The maximum allowable value for the parameter","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:max"}},{"rdfs:comment":"The minimum allowable value for the parameter","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:min"}},{"rdfs:comment":"The name assigned to the parameter","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:name"}},{"rdfs:comment":"The nominal decimal value associated with the parameter","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:nominal"}},{"rdfs:comment":"The path to the graphical representation of the parameter","sh:datatype":{"@id":"xsd:string"},"sh:path":{"@id":"S231P:graphics"}},{"rdfs:comment":"The starting decimal value associated with the parameter","sh:datatype":{"@id":"xsd:decimal"},"sh:path":{"@id":"S231P:start"}},{"rdfs:comment":"The unit of the parameter used for controls and calculations","sh:class":{"@id":"qudt:Unit"},"sh:path":{"@id":"S231P:hasUnit"}},{"rdfs:comment":"The unit of the parameter used for display and graphics","sh:class":{"@id":"qudt:Unit"},"sh:path":{"@id":"S231P:hasDisplayUnit"}},{"sh:class":{"@id":"S231P:Block"},"sh:maxCount":1,"sh:message":"This Parameter must be associated with exactly 1 Block","sh:minCount":1,"sh:path":{"sh:inversePath":{"@id":"S231P:hasParameter"}}},{"sh:class":{"@id":"S231P:DataType"},"sh:maxCount":1,"sh:message":"This Parameter must be associated with exactly 1 Datatype","sh:path":{"@id":"S231P:isOfDataType"},"sh:severity":{"@id":"sh:Info"}}],"sh:targetClass":{"@id":"S231P:Parameter"}},{"@id":"S231P:quantity","@type":"rdf:Property"},{"@id":"S231P:Real","@type":["S231P:Datatype","S231P:RealDatatype"]},{"@id":"S231P:RealDatatype","@type":"rdfs:Class","rdfs:subClassOf":{"@id":"S231P:Datatype"}},{"@id":"S231P:RealInput","@type":["rdfs:Class","sh:NodeShape"],"rdfs:comment":"An input connector for real data type","rdfs:subClassOf":{"@id":"S231P:InputConnector"},"sh:property":{"@type":"sh:PropertyShape","sh:class":{"@id":"S231P:RealDatatype"},"sh:maxCount":1,"sh:minCount":1,"sh:path":{"@id":"S231P:isOfDataType"}},"sh:targetClass":{"@id":"S231P:RealInput"}},{"@id":"S231P:RealOutput","@type":["rdfs:Class","sh:NodeShape"],"rdfs:comment":"An output connector for real data type","rdfs:subClassOf":{"@id":"S231P:OutputConnector"},"sh:property":{"@type":"sh:PropertyShape","sh:class":{"@id":"S231P:RealDatatype"},"sh:maxCount":1,"sh:minCount":1,"sh:path":{"@id":"S231P:isOfDataType"}},"sh:targetClass":{"@id":"S231P:RealOutput"}},{"@id":"S231P:start","@type":"rdf:Property"},{"@id":"S231P:String","@type":["S231P:Datatype","S231P:StringDatatype"],"rdfs:comment":"A data type to represent text"},{"@id":"S231P:StringDatatype","@type":"rdfs:Class","rdfs:subClassOf":{"@id":"S231P:Datatype"}},{"@id":"S231P:unit","@type":"rdf:Property"},{"@id":"S231P:value","@type":"rdf:Property"}]} \ No newline at end of file diff --git a/README.md b/README.md index 0a698b23..5628583d 100644 --- a/README.md +++ b/README.md @@ -138,6 +138,18 @@ Graphical viewers are available (please use right click + open in a new tab or r - [CXF Schema viewer](https://htmlpreview.github.io/?https://github.com/lbl-srg/modelica-json/blob/issue214_cxf/cxf-viz.html) - [Modelica Schema viewer](https://htmlpreview.github.io/?https://github.com/lbl-srg/modelica-json/blob/master/modelica-viz.html) +## 5. CXF-Core.jsonld + +[CXF-Core.jsonld](CXF-Core.jsonld) contains the CXF representation of all CDL elementary blocks, classes and relationships: It can be used to validate a CXF sequence. + +To generate the `CXF-Core.jsonld`, use: + +``` +node app.js -f /Buildings/Controls/OBC/CDL -o cxf --elementary --cxfCore +``` + +The `CXF-Core.jsonld` file will be generated in `cxf` folder. + When parsing a file using `app.js`, the schema is chosen according to the mode. To validate an existing JSON file against the schema, run diff --git a/app.js b/app.js index 11717aff..cea1f9e3 100644 --- a/app.js +++ b/app.js @@ -2,6 +2,7 @@ const fs = require('fs') const pa = require('./lib/parser.js') const ut = require('./lib/util.js') const se = require('./lib/semanticExtractor.js') +const ce = require('./lib/cxfExtractor.js') const logger = require('winston') const path = require('path') @@ -136,6 +137,9 @@ if (args.output === 'modelica') { if (args.output === 'semantic') { se.getSemanticInformation(args.file, args.directory) } + if (args.output === 'cxf' && args.cxfCore && args.elementary) { + ce.getCxfCore(args.file, args.directory, args.prettyPrint) + } }) } diff --git a/lib/cxfExtractor.js b/lib/cxfExtractor.js index 59616862..806acc09 100644 --- a/lib/cxfExtractor.js +++ b/lib/cxfExtractor.js @@ -1,4 +1,7 @@ const rdflib = require('rdflib') +const path = require('path') +const fs = require('fs') +const ut = require('./util.js') function checkIfCdlElementaryBlock (name) { if (name !== undefined && name !== null && name.length > 0 && (name.split('.').includes('CDL') || (name.split('.').includes('cdl')))) { @@ -58,11 +61,12 @@ function getCxfGraph (instances, requiredReferences, blockName, generateElementa instanceType = instanceDict.type if (instanceType === 'long_class_specifier') { // check if CDL elementary block - // TODO: check if we should include package name within sequence if (checkIfCdlElementaryBlock(within)) { isElementaryBlock = true } let blockTypeNode + + // TODO: check if package if (isElementaryBlock) { // blockName = 'CDL' + blockNameWithPackage.split('CDL')[1] instanceNode = s231Ns(blockNameWithPackage) @@ -102,7 +106,7 @@ function getCxfGraph (instances, requiredReferences, blockName, generateElementa } if ((isElementaryBlock && (generateElementary || generateCxfCore)) || (!isElementaryBlock)) { - graph.add(instanceNode, rdfNs('type'), s231Ns('EnumerationKind')) + graph.add(instanceNode, rdfNs('type'), s231Ns('EnumerationType')) graph.add(instanceNode, s231Ns('label'), instance) if ('description' in instanceDict) { if ('description_string' in instanceDict.description) { @@ -454,4 +458,63 @@ function getQudtQuanityKind (value, qudtQkNs, s231Ns) { return s231Ns(value) } +function getCxfCore (cdlFolder, directory, prettyPrint = false) { + if (directory === 'current') { + directory = '' + } + const cxfFolder = ut.getOutputFile(cdlFolder, 'cxf', directory) + + let graphContext = {} + const graph = { '@graph': [] } + function parseDirectory (folder, graphContext, graph) { + const filesAndFolders = fs.readdirSync(folder) + filesAndFolders.forEach(fileAndFolder => { + const newPath = path.join(folder, fileAndFolder) + const stat = fs.statSync(newPath) + if (stat && stat.isDirectory()) { + parseDirectory(newPath, graphContext, graph) + } else { + const cxfGraph = JSON.parse(fs.readFileSync(newPath, 'utf-8')) + graphContext = Object.assign(graphContext, cxfGraph['@context'] ? cxfGraph['@context'] : {}) + graph['@graph'] = graph['@graph'].concat(cxfGraph['@graph'] ? cxfGraph['@graph'] : []) + } + }) + } + parseDirectory(cxfFolder, graphContext, graph) + + const s231ClassesPropertiesJson = getCxfClassesProperties() + graphContext = Object.assign(graphContext, s231ClassesPropertiesJson['@context'] ? s231ClassesPropertiesJson['@context'] : {}) + graph['@graph'] = graph['@graph'].concat(s231ClassesPropertiesJson['@graph'] ? s231ClassesPropertiesJson['@graph'] : []) + + const cxfCoreJsonld = { + '@context': graphContext, + '@graph': graph['@graph'] + } + const out = (prettyPrint === 'true') ? JSON.stringify(cxfCoreJsonld, null, 2) : JSON.stringify(cxfCoreJsonld) + ut.writeFile(path.join(directory, 'cxf', 'CXF-Core.jsonld'), out) +} + +function getCxfClassesProperties () { + const uri = 'https://data.ashrae.org/s231.ttl' + const body = fs.readFileSync(path.join('lib', 's231ClassesProperties.ttl'), 'utf-8') + const mimeType = 'text/turtle' + const s231ClassesProperties = rdflib.graph() + + try { + rdflib.parse(body, s231ClassesProperties, uri, mimeType) + } catch (err) { + console.log(err) + } + + let s231ClassesPropertiesJson = null + rdflib.serialize(null, s231ClassesProperties, uri, 'application/ld+json', (err, jsonldData) => { + if (err) { + throw err + } + s231ClassesPropertiesJson = JSON.parse(jsonldData) + }) + return s231ClassesPropertiesJson +} + module.exports.getCxfGraph = getCxfGraph +module.exports.getCxfCore = getCxfCore diff --git a/lib/objectExtractor.js b/lib/objectExtractor.js index 0448b390..45a0de22 100644 --- a/lib/objectExtractor.js +++ b/lib/objectExtractor.js @@ -100,9 +100,10 @@ function extractAllObjects (jsonOutput, within = null) { const classDefinition = classDefinitions[i] const classSpecifier = classDefinition.class_specifier + const classPrefixes = classDefinition.class_prefixes if ('long_class_specifier' in classSpecifier) { longClassSpecifier = classSpecifier.long_class_specifier - const newAllObjects = extractFromLongClassSpecifier(longClassSpecifier, fullMoFilePath, within) + const newAllObjects = extractFromLongClassSpecifier(longClassSpecifier, fullMoFilePath, classPrefixes, within) instances = Object.assign({}, instances, newAllObjects.instances) requiredReferences = updateRequiredReferences(requiredReferences, newAllObjects.requiredReferences) } @@ -161,7 +162,7 @@ function extractAllObjects (jsonOutput, within = null) { return allObjects } -function extractFromLongClassSpecifier (longClassSpecifier, fullMoFilePath, within = null) { +function extractFromLongClassSpecifier (longClassSpecifier, fullMoFilePath, classPrefixes = null, within = null) { let instances = {} let requiredReferences = {} let identifier = null @@ -177,6 +178,10 @@ function extractFromLongClassSpecifier (longClassSpecifier, fullMoFilePath, with dictIdentifier.type = 'long_class_specifier' } + if (classPrefixes !== null) { + dictIdentifier.class_prefixes = classPrefixes + } + if (longClassSpecifier.extends !== null && longClassSpecifier.extends !== undefined) { dictIdentifier.extends = true if ('class_modification' in longClassSpecifier && longClassSpecifier.class_modification !== undefined) { diff --git a/lib/s231ClassesProperties.ttl b/lib/s231ClassesProperties.ttl index 2d6d3170..d43ac209 100644 --- a/lib/s231ClassesProperties.ttl +++ b/lib/s231ClassesProperties.ttl @@ -5,6 +5,12 @@ @prefix xsd: . @prefix qudt: . +S231P:Package + a rdfs:Class ; + rdfs:comment "A package is a specialized class used to group multiple blocks" ; + rdfs:label "Block" ; +. + S231P:Block a rdfs:Class ; rdfs:comment "A block is the abstract interface of a control sequence" ; @@ -593,6 +599,12 @@ S231P:hasConstant rdfs:domain S231P:Block ; rdfs:range S231P:Constant ; . +S231P:hasInstance + a rdf:Property ; + rdfs:comment "Used to define an instance (input, output, parameter or constant) for a block" ; + rdfs:label "has instance" ; + rdfs:domain S231P:Block ; +. S231P:isOfDataType a rdf:Property ; rdfs:comment "Used to define the data type for input connectors, output connectors, parameters and constants" ; diff --git a/package.json b/package.json index 6ef4316f..c3aa4d71 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "minimist": "^1.2.0", "mustache": "^2.3.0", "n3": "^1.17.2", - "npm": "^9.8.1", + "npm": "^10.8.1", "nyc": "^15.1.0", "promise-fs": "^1.3.0", "rdf-parse": "^2.3.2", diff --git a/test/reference/cxf/test/FromModelica/Enumeration1.jsonld b/test/reference/cxf/test/FromModelica/Enumeration1.jsonld index 26648657..bd62f8bd 100644 --- a/test/reference/cxf/test/FromModelica/Enumeration1.jsonld +++ b/test/reference/cxf/test/FromModelica/Enumeration1.jsonld @@ -23,7 +23,7 @@ }, { "@id": "http://example.org#FromModelica.Enumeration1", - "@type": "S231P:EnumerationKind", + "@type": "S231P:EnumerationType", "S231P:description": "Enumeration defining e1, e2 or e3", "S231P:label": "Enumeration1" } diff --git a/test/reference/objects/test/FromModelica/Block1.json b/test/reference/objects/test/FromModelica/Block1.json index eb44a254..373e0f73 100644 --- a/test/reference/objects/test/FromModelica/Block1.json +++ b/test/reference/objects/test/FromModelica/Block1.json @@ -3,7 +3,8 @@ "Block1": { "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Block1.mo", - "type": "long_class_specifier" + "type": "long_class_specifier", + "class_prefixes": "block" } }, "requiredReferences": {} diff --git a/test/reference/objects/test/FromModelica/BlockInputOutput.json b/test/reference/objects/test/FromModelica/BlockInputOutput.json index b154f9e9..c066a97e 100644 --- a/test/reference/objects/test/FromModelica/BlockInputOutput.json +++ b/test/reference/objects/test/FromModelica/BlockInputOutput.json @@ -3,7 +3,8 @@ "BlockInputOutput": { "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockInputOutput.mo", - "type": "long_class_specifier" + "type": "long_class_specifier", + "class_prefixes": "block" }, "u": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", diff --git a/test/reference/objects/test/FromModelica/BlockWithBlock1.json b/test/reference/objects/test/FromModelica/BlockWithBlock1.json index 8bc70b5c..64360049 100644 --- a/test/reference/objects/test/FromModelica/BlockWithBlock1.json +++ b/test/reference/objects/test/FromModelica/BlockWithBlock1.json @@ -3,7 +3,8 @@ "BlockWithBlock1": { "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/BlockWithBlock1.mo", - "type": "long_class_specifier" + "type": "long_class_specifier", + "class_prefixes": "block" }, "bloPub": { "type_specifier": "Block1", diff --git a/test/reference/objects/test/FromModelica/ConditionalBlock.json b/test/reference/objects/test/FromModelica/ConditionalBlock.json index 7284b327..41fbf4f2 100644 --- a/test/reference/objects/test/FromModelica/ConditionalBlock.json +++ b/test/reference/objects/test/FromModelica/ConditionalBlock.json @@ -3,7 +3,8 @@ "ConditionalBlock": { "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ConditionalBlock.mo", - "type": "long_class_specifier" + "type": "long_class_specifier", + "class_prefixes": "block" }, "enaBlo": { "type_prefix": "parameter", diff --git a/test/reference/objects/test/FromModelica/CustomPWithLimiter.json b/test/reference/objects/test/FromModelica/CustomPWithLimiter.json index a0234266..a8f54608 100644 --- a/test/reference/objects/test/FromModelica/CustomPWithLimiter.json +++ b/test/reference/objects/test/FromModelica/CustomPWithLimiter.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/CustomPWithLimiter.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/DynamicTextColor.json b/test/reference/objects/test/FromModelica/DynamicTextColor.json index b23b8207..6984a259 100644 --- a/test/reference/objects/test/FromModelica/DynamicTextColor.json +++ b/test/reference/objects/test/FromModelica/DynamicTextColor.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/DynamicTextColor.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/EmptyEquation.json b/test/reference/objects/test/FromModelica/EmptyEquation.json index 883767c5..db72292a 100644 --- a/test/reference/objects/test/FromModelica/EmptyEquation.json +++ b/test/reference/objects/test/FromModelica/EmptyEquation.json @@ -3,7 +3,8 @@ "EmptyEquation": { "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/EmptyEquation.mo", - "type": "long_class_specifier" + "type": "long_class_specifier", + "class_prefixes": "block" } }, "requiredReferences": { diff --git a/test/reference/objects/test/FromModelica/Enable.json b/test/reference/objects/test/FromModelica/Enable.json index 7abda67f..e21a9ab6 100644 --- a/test/reference/objects/test/FromModelica/Enable.json +++ b/test/reference/objects/test/FromModelica/Enable.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Enable.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/ExtendsClause_1.json b/test/reference/objects/test/FromModelica/ExtendsClause_1.json index 7897576f..85a8c865 100644 --- a/test/reference/objects/test/FromModelica/ExtendsClause_1.json +++ b/test/reference/objects/test/FromModelica/ExtendsClause_1.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_1.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/ExtendsClause_2.json b/test/reference/objects/test/FromModelica/ExtendsClause_2.json index 771d3580..f081f321 100644 --- a/test/reference/objects/test/FromModelica/ExtendsClause_2.json +++ b/test/reference/objects/test/FromModelica/ExtendsClause_2.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_2.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/ExtendsClause_3.json b/test/reference/objects/test/FromModelica/ExtendsClause_3.json index 5353a887..2f10f503 100644 --- a/test/reference/objects/test/FromModelica/ExtendsClause_3.json +++ b/test/reference/objects/test/FromModelica/ExtendsClause_3.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ExtendsClause_3.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/GainOutputsTwo.json b/test/reference/objects/test/FromModelica/GainOutputsTwo.json index 6b455dc1..f11d4631 100644 --- a/test/reference/objects/test/FromModelica/GainOutputsTwo.json +++ b/test/reference/objects/test/FromModelica/GainOutputsTwo.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/GainOutputsTwo.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json b/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json index ee50efcd..f2501cb1 100644 --- a/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json +++ b/test/reference/objects/test/FromModelica/MisplacedInfoWithComponent.json @@ -3,7 +3,8 @@ "MisplacedInfoWithComponent": { "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithComponent.mo", - "type": "long_class_specifier" + "type": "long_class_specifier", + "class_prefixes": "block" }, "bloPub": { "type_specifier": "Block1", diff --git a/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json b/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json index f0087e1b..c5a73c19 100644 --- a/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json +++ b/test/reference/objects/test/FromModelica/MisplacedInfoWithEquation.json @@ -3,7 +3,8 @@ "MisplacedInfoWithEquation": { "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithEquation.mo", - "type": "long_class_specifier" + "type": "long_class_specifier", + "class_prefixes": "block" }, "k": { "type_prefix": "parameter", diff --git a/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json b/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json index af4909cf..f91b85c9 100644 --- a/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json +++ b/test/reference/objects/test/FromModelica/MisplacedInfoWithParameter.json @@ -3,7 +3,8 @@ "MisplacedInfoWithParameter": { "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MisplacedInfoWithParameter.mo", - "type": "long_class_specifier" + "type": "long_class_specifier", + "class_prefixes": "block" }, "kP": { "type_prefix": "parameter", diff --git a/test/reference/objects/test/FromModelica/MyController.json b/test/reference/objects/test/FromModelica/MyController.json index 60b8362b..418a2ef5 100644 --- a/test/reference/objects/test/FromModelica/MyController.json +++ b/test/reference/objects/test/FromModelica/MyController.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyController.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/MyControllerWithExportAnnotation1.json b/test/reference/objects/test/FromModelica/MyControllerWithExportAnnotation1.json index cc74eea4..07fcaa2a 100644 --- a/test/reference/objects/test/FromModelica/MyControllerWithExportAnnotation1.json +++ b/test/reference/objects/test/FromModelica/MyControllerWithExportAnnotation1.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithExportAnnotation1.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json b/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json index 8cf45e5c..e8a4b678 100644 --- a/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json +++ b/test/reference/objects/test/FromModelica/MyControllerWithSemantics.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/MyControllerWithSemantics.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/NoClassComment.json b/test/reference/objects/test/FromModelica/NoClassComment.json index 4b097037..9d1fe66a 100644 --- a/test/reference/objects/test/FromModelica/NoClassComment.json +++ b/test/reference/objects/test/FromModelica/NoClassComment.json @@ -3,7 +3,8 @@ "NoClassComment": { "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoClassComment.mo", - "type": "long_class_specifier" + "type": "long_class_specifier", + "class_prefixes": "block" }, "kP": { "type_prefix": "parameter", diff --git a/test/reference/objects/test/FromModelica/NoWithin.json b/test/reference/objects/test/FromModelica/NoWithin.json index c27992c1..725b947f 100644 --- a/test/reference/objects/test/FromModelica/NoWithin.json +++ b/test/reference/objects/test/FromModelica/NoWithin.json @@ -3,7 +3,8 @@ "FromModelica": { "within": null, "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/NoWithin.mo", - "type": "long_class_specifier" + "type": "long_class_specifier", + "class_prefixes": "package" }, "one": { "type_prefix": "constant", diff --git a/test/reference/objects/test/FromModelica/Parameter1.json b/test/reference/objects/test/FromModelica/Parameter1.json index aee07505..ae2ca6f3 100644 --- a/test/reference/objects/test/FromModelica/Parameter1.json +++ b/test/reference/objects/test/FromModelica/Parameter1.json @@ -3,7 +3,8 @@ "Parameter1": { "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1.mo", - "type": "long_class_specifier" + "type": "long_class_specifier", + "class_prefixes": "block" }, "kP": { "type_prefix": "parameter", diff --git a/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json b/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json index 4e9f8367..1852c66e 100644 --- a/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json +++ b/test/reference/objects/test/FromModelica/Parameter1WithVendorAnnotation.json @@ -3,7 +3,8 @@ "Parameter1WithVendorAnnotation": { "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter1WithVendorAnnotation.mo", - "type": "long_class_specifier" + "type": "long_class_specifier", + "class_prefixes": "block" }, "kP": { "type_prefix": "parameter", diff --git a/test/reference/objects/test/FromModelica/Parameter2.json b/test/reference/objects/test/FromModelica/Parameter2.json index e8cdc569..7147167a 100644 --- a/test/reference/objects/test/FromModelica/Parameter2.json +++ b/test/reference/objects/test/FromModelica/Parameter2.json @@ -3,7 +3,8 @@ "Parameter2": { "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter2.mo", - "type": "long_class_specifier" + "type": "long_class_specifier", + "class_prefixes": "block" }, "myPar1": { "type_prefix": "parameter", diff --git a/test/reference/objects/test/FromModelica/Parameter3.json b/test/reference/objects/test/FromModelica/Parameter3.json index c5c6c83d..1f3ee6c6 100644 --- a/test/reference/objects/test/FromModelica/Parameter3.json +++ b/test/reference/objects/test/FromModelica/Parameter3.json @@ -3,7 +3,8 @@ "Parameter3": { "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/Parameter3.mo", - "type": "long_class_specifier" + "type": "long_class_specifier", + "class_prefixes": "block" }, "myPar1": { "type_prefix": "parameter", diff --git a/test/reference/objects/test/FromModelica/ParameterWithAttributes.json b/test/reference/objects/test/FromModelica/ParameterWithAttributes.json index bc5d532a..05c57de3 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithAttributes.json +++ b/test/reference/objects/test/FromModelica/ParameterWithAttributes.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithAttributes.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json b/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json index 329701d8..3af5c77c 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json +++ b/test/reference/objects/test/FromModelica/ParameterWithDefaultName.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithDefaultName.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/ParameterWithInfo.json b/test/reference/objects/test/FromModelica/ParameterWithInfo.json index a51e3741..72aa609c 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithInfo.json +++ b/test/reference/objects/test/FromModelica/ParameterWithInfo.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithInfo.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json b/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json index 769f584e..5a1499e8 100644 --- a/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json +++ b/test/reference/objects/test/FromModelica/ParameterWithVendorAnnotationInInfo.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/ParameterWithVendorAnnotationInInfo.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/PointList.json b/test/reference/objects/test/FromModelica/PointList.json index 6138ab83..9c14ce6f 100644 --- a/test/reference/objects/test/FromModelica/PointList.json +++ b/test/reference/objects/test/FromModelica/PointList.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/PointList.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/RemovableInputs.json b/test/reference/objects/test/FromModelica/RemovableInputs.json index 5aab58ed..b9bc661c 100644 --- a/test/reference/objects/test/FromModelica/RemovableInputs.json +++ b/test/reference/objects/test/FromModelica/RemovableInputs.json @@ -3,7 +3,8 @@ "RemovableInputs": { "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/RemovableInputs.mo", - "type": "long_class_specifier" + "type": "long_class_specifier", + "class_prefixes": "block" }, "enaBlo": { "type_prefix": "parameter", diff --git a/test/reference/objects/test/FromModelica/SubController.json b/test/reference/objects/test/FromModelica/SubController.json index fe23f1b8..93140a3e 100644 --- a/test/reference/objects/test/FromModelica/SubController.json +++ b/test/reference/objects/test/FromModelica/SubController.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubController.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json b/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json index b5a2cf3b..9266bf37 100644 --- a/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json +++ b/test/reference/objects/test/FromModelica/SubControllerWithSemantics.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/SubControllerWithSemantics.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_1.json b/test/reference/objects/test/FromModelica/TestEvaluation_1.json index 6e542022..8a41831c 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_1.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_1.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_1.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_2.json b/test/reference/objects/test/FromModelica/TestEvaluation_2.json index 2acf174f..3b187f7f 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_2.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_2.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_2.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_3.json b/test/reference/objects/test/FromModelica/TestEvaluation_3.json index 8867cd37..533eee95 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_3.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_3.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_3.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/TestEvaluation_4.json b/test/reference/objects/test/FromModelica/TestEvaluation_4.json index d144c7af..9fba4181 100644 --- a/test/reference/objects/test/FromModelica/TestEvaluation_4.json +++ b/test/reference/objects/test/FromModelica/TestEvaluation_4.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/TestEvaluation_4.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/VariableModification.json b/test/reference/objects/test/FromModelica/VariableModification.json index 7d188658..a5b3fa9d 100644 --- a/test/reference/objects/test/FromModelica/VariableModification.json +++ b/test/reference/objects/test/FromModelica/VariableModification.json @@ -3,7 +3,8 @@ "VariableModification": { "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/VariableModification.mo", - "type": "long_class_specifier" + "type": "long_class_specifier", + "class_prefixes": "block" }, "u": { "type_specifier": "Buildings.Controls.OBC.CDL.Interfaces.RealInput", diff --git a/test/reference/objects/test/FromModelica/WithCDLElementary.json b/test/reference/objects/test/FromModelica/WithCDLElementary.json index fe5e1e9d..8f5c1e00 100644 --- a/test/reference/objects/test/FromModelica/WithCDLElementary.json +++ b/test/reference/objects/test/FromModelica/WithCDLElementary.json @@ -4,6 +4,7 @@ "within": "FromModelica", "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/WithCDLElementary.mo", "type": "long_class_specifier", + "class_prefixes": "block", "annotation": [ { "element_modification_or_replaceable": { diff --git a/test/reference/objects/test/FromModelica/package.json b/test/reference/objects/test/FromModelica/package.json index f91bd015..c4a4fc88 100644 --- a/test/reference/objects/test/FromModelica/package.json +++ b/test/reference/objects/test/FromModelica/package.json @@ -3,7 +3,8 @@ "FromModelica": { "within": null, "fullMoFilePath": "/Users/akprakash/Programming/modelica/modelica-json/test/FromModelica/package.mo", - "type": "long_class_specifier" + "type": "long_class_specifier", + "class_prefixes": "package" }, "one": { "type_prefix": "constant", From 3b89f4d6170a70af7ceaae41afd94484c2149daa Mon Sep 17 00:00:00 2001 From: Anand Prakash Date: Tue, 4 Jun 2024 10:54:35 -0700 Subject: [PATCH 24/25] addressing comments on pull request --- README.md | 2 +- app.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5628583d..8bbbf230 100644 --- a/README.md +++ b/README.md @@ -140,7 +140,7 @@ Graphical viewers are available (please use right click + open in a new tab or r ## 5. CXF-Core.jsonld -[CXF-Core.jsonld](CXF-Core.jsonld) contains the CXF representation of all CDL elementary blocks, classes and relationships: It can be used to validate a CXF sequence. +[CXF-Core.jsonld](CXF-Core.jsonld) contains the CXF representation of all CDL elementary blocks, classes and relationships. To generate the `CXF-Core.jsonld`, use: diff --git a/app.js b/app.js index cea1f9e3..b6f8d5f9 100644 --- a/app.js +++ b/app.js @@ -58,7 +58,7 @@ parser.addArgument( ['-p', '--prettyPrint'], { - help: 'Pretty print JSON output.', + help: 'Pretty print JSON output. -o/--output should be raw-json/json/cxf', action: 'storeTrue' } ) From 1301acbe51835abaa317115b56577e706961d78d Mon Sep 17 00:00:00 2001 From: JayHuLBL Date: Tue, 4 Jun 2024 11:01:28 -0700 Subject: [PATCH 25/25] added dot --- app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app.js b/app.js index b6f8d5f9..fd4021ef 100644 --- a/app.js +++ b/app.js @@ -58,7 +58,7 @@ parser.addArgument( ['-p', '--prettyPrint'], { - help: 'Pretty print JSON output. -o/--output should be raw-json/json/cxf', + help: 'Pretty print JSON output. The -o/--output should be raw-json/json/cxf.', action: 'storeTrue' } )