如何在参数-window中生成nparameters/options?

How to generate n parameters/options in parameter-window?

我有以下代码:

parameter Boolean Powerplant_on_Bus=true
    "Activate/Deactivate Conventional Energy Generation on Bus" annotation (
    Evaluate=true,
    HideResult=true,
    choices(__Dymola_checkBox=true),
    Dialog(group="Generation"));

  parameter Integer n[:]=
    "Number of Conventional Powerplants connected to the Bus"  annotation (
    Dialog(group="Generation", enable=Powerplant_on_Bus));

结果是这样的: Parameter Window

使用以下代码,我想生成一个选项,用于在参数 window:

中为 Powerplant 选择配置文件 table
replaceable model Powerplant_Profile =
      IntegraNet.HighVoltage.Basics.Tables.ElectricGrid.GenericPowerDataTable   "Load-profile data table for Powerplant Generation" annotation (choicesAllMatching=false,Dialog(tab="Powerplant",enable=Powerplant_on_Bus));

结果如下所示: Parameter Window "Powerplant"

我的目标是生成 n 个用于选择动力装置配置文件的选项。例如:当我在字段 "n" 的第一个参数 window 中选择了 5 个动力装置时,我希望在参数 window "powerplant" 中有 5 个用于选择配置文件的字段。

感谢您的帮助。

据我所知,目前在 Dymola 中无法直接在参数对话框中动态更改显示的参数。

作为解决方法 - 虽然我不确定这是否正是您所需要的 - 有以下方法可以做类似的事情。

package N_options
  package Data
    record Default "Default Record"
      parameter Real p1=1;
    end Default;

    record Data1 "Data set 1"
      extends Default(p1 = 2.3);
    end Data1;

    record Data2 "Data set 2"
      extends Default(p1 = 4.5);
    end Data2;
  end Data;

  record DataSelection
    parameter N_options.Data.Default data annotation (choicesAllMatching);
  end DataSelection;

  model MyModel
   parameter DataSelection vectorizedData[:];
  end MyModel;

  model MyExample
    MyModel myModel(vectorizedData={
      N_options.DataSelection(data=N_options.Data.Default()),
      N_options.DataSelection(data=N_options.Data.Data1()),
      N_options.DataSelection(data=N_options.Data.Data2())})
      annotation (Placement(transformation(extent={{-10,-10},{10,10}})));
  end MyExample;
end N_options;

归结为:

  • 包含您的数据的包裹
  • 一个(中间)记录,您可以在其中 select 您希望能够选择的数据
  • 包含数据的模型 parameter
  • 一个例子

双击示例中的 myModel 将在 Dymola 中显示以下对话框:

单击 'Edit' 按钮然后显示:

在第二个对话框中,您可以select要使用的数据集的数量以及应选择的数据集。