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

How to define the custom parameter of a record in Dymola?

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

您设置的每个修饰符都会显示在参数 window 中。您不仅可以为参数设置修饰符,还可以为或多或少不是最终的所有内容设置修饰符:所有变量和组件实例也是如此,无论它们是否在参数 window 中可见。 Dymola 将在 'Custom parameters' 部分显示此类修饰符。

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

  1. 直接在文本层中键入修饰方程
  2. 在组件的参数 window 中使用选项卡 'Add modifiers'
  3. 使用显示组件打开实例并在子组件中设置参数

在旧的 Dymola 版本中,这些修饰符仅显示在一般参数组中,这会导致混淆。所以他们将其移至 'Custom parameter' 部分。

例子

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

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;

这里我们创建了 class StepSine,它只是向正弦信号添加一个阶跃。 None 的组件参数被传播,但是通过上述方法我们仍然可以在 Example.

中设置它们
  1. 使用文字图层

    1. 转到文本层并键入 StepSine stepSine(add.k1=-1)
    2. 检查 stepSine 的参数 window。您获得了第一个自定义参数。
  2. 使用'Add modifiers'

    1. Example
    2. 中打开stepSine的参数window
    3. 切换到选项卡'Add Modifiers'
    4. 键入 step.height=1 并单击“确定”
    5. 再次检查参数window。您获得了第二个自定义参数。
  3. 使用'Show component'

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