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

Modelica 如何在Dymola中定义记录的自定义参数?,modelica,dymola,Modelica,Dymola,ThermoSysPro库中有一个Stodolaturebine组件的自定义参数,在turbine组件的图表视图中,我可以看到自定义参数属于一个记录。但此记录没有参数,在这种情况下,如何再添加一个自定义参数 您设置的每个修改器都会显示在参数窗口中。您不仅可以为参数设置修改器,还可以为非最终的所有内容设置修改器:所有变量和组件实例也可以设置修改器,无论它们是否在参数窗口中可见。Dymola将在“自定义参数”部分显示此类修改器 有几种方法可以设置此类修改器: 直接在文本层中键入修改器方程 使用组

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


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

有几种方法可以设置此类修改器:

  • 直接在文本层中键入修改器方程
  • 使用组件参数窗口中的“添加修改器”选项卡
  • 使用“显示组件”打开实例并在子组件中设置参数
  • 在较旧的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
    ,它只是向正弦信号添加一个步长。组件的任何参数都不会传播,但使用上述方法,我们仍然可以在
    示例中设置它们

  • 使用文本层

  • 转到文本层并键入
    StepSine-StepSine(add.k1=-1)
  • 检查
    stepSine
    的参数窗口。您获得了第一个自定义参数
  • 使用“添加修改器”

  • 示例中打开
    stepSine
    的参数窗口
  • 切换到“添加修改器”选项卡
  • 键入
    step.height=1
    并单击确定
  • 再次检查参数窗口。您获得了第二个自定义参数
  • 使用“显示组件”

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

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

    有几种方法可以设置此类修改器:

  • 直接在文本层中键入修改器方程
  • 使用组件参数窗口中的“添加修改器”选项卡
  • 使用“显示组件”打开实例并在子组件中设置参数
  • 在较旧的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
    ,它只是向正弦信号添加一个步长。组件的任何参数都不会传播,但使用上述方法,我们仍然可以在
    示例中设置它们

  • 使用文本层

  • 转到文本层并键入
    StepSine-StepSine(add.k1=-1)
  • 检查
    stepSine
    的参数窗口。您获得了第一个自定义参数
  • 使用“添加修改器”

  • 示例中打开
    stepSine
    的参数窗口
  • 切换到“添加修改器”选项卡
  • 键入
    step.height=1
    并单击确定
  • 再次检查参数窗口。您获得了第二个自定义参数
  • 使用“显示组件”

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