如何在Dymola中定义记录的自定义参数?

时间:2019-11-19 19:25:52

标签: modelica dymola

ThermoSysPro库中有一个StodolaTurbine组件的自定义参数,在涡轮机组件的图表视图中,我可以看到该自定义参数属于一条记录。但是此记录没有参数,在这种情况下如何添加一个自定义参数?

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:6)

您设置的每个修饰符都会显示在参数窗口中。您不仅可以设置参数的修饰符,还可以设置或多或少的非最终修饰符:还可以为所有变量和组件实例设置修饰符,无论它们在参数窗口中是否可见。 Dymola将在“自定义参数”部分中显示此类修饰符。

有几种方法可以设置此类修饰符:

  1. 直接在文本层中键入修饰符方程
  2. 在组件的参数窗口中使用“添加修饰符”标签
  3. 使用show组件打开实例并在子组件中设置参数

在旧版Dymola中,这些修饰符仅显示在常规参数组中,这会引起混淆。因此,他们将其移至“自定义参数”部分。

示例

让我们使用下面的简单代码来演示这三种不同的方法。

package Demo
  model StepSine
    Modelica.Blocks.Sources.Step step annotation (Placement(transformation(extent={{-20,20},{20,60}})));
    Modelica.Blocks.Interfaces.RealOutput y annotation (Placement(transformation(extent={{100,-10},{120,10}})));
    Modelica.Blocks.Math.Add add annotation (Placement(transformation(extent={{60,-10},{80,10}})));
    Modelica.Blocks.Sources.Sine sine annotation (Placement(transformation(extent={{-20,-60},{20,-20}})));
  equation 
    connect(add.y, y) annotation (Line(points={{81,0},{110,0}}, color={0,0,127}));
    connect(step.y, add.u1) annotation (Line(points={{22,40},{40,40},{40,6},{58,6}}, color={0,0,127}));
    connect(sine.y, add.u2) annotation (Line(points={{22,-40},{40,-40},{40,-6},{58,-6}}, color={0,0,127}));
  end StepSine;

  model Example
    StepSine stepSine annotation (Placement(transformation(extent={{-8,-10},{12,10}})));
  end Example;
end Demo;

在这里,我们创建了类StepSine,该类仅向正弦信号增加了一个台阶。不会传播组件的任何参数,但是使用上述方法,我们仍然可以在Example中进行设置。

  1. 使用文本层

    1. 转到文本层,然后输入StepSine stepSine(add.k1=-1)
    2. 检查stepSine的参数窗口。您有了第一个自定义参数。
  2. 使用“添加修饰符”

    1. stepSine中打开Example的参数窗口
    2. 切换到“添加修饰符”标签
    3. 键入step.height=1,然后单击“确定”
    4. 再次检查参数窗口。您有了第二个自定义参数。
  3. 使用“显示组件”

    1. 使用鼠标右键->显示组件打开stepSine
    2. 然后打开sine的参数窗口,然后输入例如幅度为3
    3. 再次检查stepSine的参数窗口。您获得了第三个自定义参数。