组件模型标注

本章例子中出现的几个标注先前已经介绍过了(例如在对图形标注以及简图的讨论里)。这里我们将介绍那些尚未介绍的标注,并讨论它们的作用。

defaultComponentName

类型:模型标注

defaultComponentName标注用于模型定义中。其作用是定义该模型的实例应有的默认名称。图形工具会在将模型拖入简图时以此为其分配一个初始名称。

defaultComponentPrefixes

类型:模型标注

defaultComponentName标注定义将组件拖入图时使用的默认名称。而defaultComponentPrefixes则定义任何应自动纳入组件声明的限定词。此标注的值应该是一个字符串,字符串内容则是由空格分隔开的限定词列表。

组件在实例化时,图形化工具会去查找该组件相关的定义。目的是defaultComponentPrefixes标注是否有赋值。如果有,工具会提取该字符串列出的限定词,并立即将其添加为组件声明的限定词。

Dialog

类型:声明标注

Dialog标注用于在图形用户界面下帮助组织变量(一般而言用于parameters)。此标注提供了超出编译模型所需的额外信息。这指示了图形工具在组件对话框中应包含哪些内容。

Dialog标注的结构可以用以下record定义来表示:

record Dialog
  parameter String tab = "General";
  parameter String group = "Parameters";
  parameter Boolean enable = true;
  parameter Boolean showStartAttribute = false;
  parameter String groupImage = "";
  parameter Boolean connectorSizing = false;
end Dialog;

tab字段是一个字符串。它表示此变量所应归属选项卡的名称。group字段给出变量在指定选项卡内所属“组”的名称。enable字段可以使用表达式,表明该参数何时应显示。showStartAttribute字段可用于将(此变量的)start属性值加入到用户界面。这样,用户就能够容易地指定start属性的值。该groupImage字段允许用户指定与group字段的组相关联的图像。最后,connectorSizing仅用于声明指定连接器数组大小的整数参数。在这种情况下,如果connectorSizing字段值为True,那么在影响该连接器所需大小的行为发生后,图形界面可以选择去更新标注参数的值。

DynamicSelect

类型:声明标注

DynamicSelect标注用于指定标注值可以如何依赖于仿真的解。例如,DynamicSelect标注可以用来基于温度变化调整组件图标的颜色。DynamicSelect有两个值与其相关联,即:

DynamicSelect(static_value, dynamic_value)

第一个是“静态”值。该值时会在没有可用模拟结果或者当特定工具不支持链接模拟结果到标注时是用。第二个值是“动态”值。这是一个表达式。表达式一般涉及标注声明所在作用域内的变量。该变量则可以从模拟结果得到。

preferredView

类型:定义标注

preferredView标注用于指定该定义在图形化的工具被选中时所应显示的“视图”。标注的可能取值为:

  • “信息” - 显示与这个定义相关的任何文档。

  • “文本” - 显示与此定义关联的Modelica代码。

  • “简图” - 显示与此定义关联的示意图。

preferredView标注的一个常见用途是用于创建某个特定package的文档。在这种情况下,package包括Documentation标注。而其preferredView标注则设置为info(从而令工具在访问定义直接显示文档)。

unassignedMessage

类型:声明标注

unassignedMessage标注的值为字符串。标注了的声明没有找到相应方程以计算其值,unassignedMessage标注的字符串值就可以作为编译器的诊断信息。