主要内容

可配置子系统

表示从用户指定的块库中选择的任何块

  • 库:
  • 金宝appSimulink / Ports &子系统

  • 可配置子系统块

描述

请注意

可配置子系统块将在未来的版本中被删除。建议使用变型子系统而不是可配置子系统。变型子系统提供了比可配置子系统更多的功能,具有以下优点:

  • 你可以混合模型块和子系统块作为变量选择。

  • 您可以指定具有不同数量的输入和输出端口的变体。

有关转换的更多信息可配置子系统块一个不同的子系统块,看转换可配置子系统到可变子系统

有关变体子系统的更多信息,请参见变种子系统,变种模型

如果您的模型包含一个可配置子系统块,您将看到一条警告消息。要将警告消息更改为错误消息,请设置字符串命令行参数ConfigurableSubsystemUsage错误

set_param (bdroot ConfigurableSubsystemUsage, '错误');
要将其恢复为警告,请设置ConfigurableSubsystemUsage警告

可配置子系统块表示指定的块库中包含的一组块。的上下文菜单可配置子系统块允许您选择可配置子系统代表哪个块。

可配置子系统块简化了代表设计族的模型的创建。例如,假设您想为一辆提供发动机选择的汽车建模。要为这样的设计建模,首先要创建一个汽车引擎类型的模型库。你可以用a可配置子系统在您的汽车模型块代表引擎的选择。要对基本汽车设计的特定变体进行建模,用户只需使用可配置的发动机组对话框选择发动机类型。

要在模型中创建可配置子系统,您必须首先创建一个包含主可配置子系统及其所代表的块的库。然后,您可以通过将主子系统的副本从库中拖拽到模型中来创建主子系统的可配置实例。

您可以向主可配置子系统库添加任何类型的块。金宝app动态仿真模块®通过从所有选项的端口名称生成惟一列表,派生可配置子系统的端口名称。然而,Simuli金宝appnk使用默认端口名来选择非子系统块。

您不能中断可配置子系统中的库链接,因为在选择新配置时,Simulink使用这些链接来重新配置子系统。金宝app只有当您不打算重新配置子系统时,断开链接才有用。在这种情况下,您可以用实现永久配置的不可配置子系统替换可配置子系统。

创建主可配置子系统

要创建一个主可配置子系统:

  1. 创建一个表示可配置子系统的各种配置的块库。

  2. 保存库。

  3. 的实例可配置子系统在图书馆阻塞。

    为此,请拖动可配置子系统块从Simulink Port金宝apps &子系统库到您在上一步中创建的库。

  4. 显示可配置子系统块对话框,双击它。对话框显示库中其他块的列表。

  5. 区块选择列表在对话框中,选择代表您正在创建的可配置子系统的各种配置的块。

  6. 要应用更改并关闭对话框,请单击好吧按钮。

  7. 选择块的选择的上下文菜单可配置子系统块。

    上下文菜单显示了一个子菜单,列出了子系统可以表示的块。

  8. 选择您希望子系统在默认情况下表示的块。

  9. 保存库。

    请注意

    如果从库中添加或删除块,则必须重新创建任何块可配置子系统使用库的块。

如果您修改了可配置子系统的默认块选择库块,则更改不会立即传播到可配置子系统。要传播此更改,请执行以下操作之一:

  • 将默认块选择更改为子系统中的另一个块,然后将默认块选择更改为原始块。

  • 重新创建可配置的子系统块,包括选择更新的块作为默认块选择。

如果模型中的一个可配置子系统包含一个坏掉的库块链接,那么编辑这个链接并保存模型并不能在下次打开模型时修复这个坏掉的链接。要修复可配置子系统中的坏库链接,可以使用以下方法之一。

  • 将可配置子系统转换为可变子系统。右键单击可配置子系统,并选择子系统和模型参考>转换子系统>不同的子系统

  • 从主可配置子系统库中删除库块,将库块添加回主可配置子系统库,然后保存主可配置子系统库。

创建可配置子系统的实例

要在模型中创建可配置子系统的实例:

  1. 打开包含主可配置子系统的库。

  2. 将母版的副本拖动到模型中。

  3. 选择块的选择从它的上下文菜单可配置子系统实例。

  4. 选择您希望可配置子系统表示的块。

可配置系统的实例显示它所代表的块的图标和参数对话框。

设置实例块参数

与其他块一样,您可以使用可配置子系统实例的参数对话框来交互地设置它的参数set_param命令从MATLAB中设置参数®命令行或在MATLAB文件中。如果你使用set_param的第一个参数必须指定可配置子系统的当前块选择的完整路径名set_param,例如:

curr_choice = get_param('mymod/myconfigsys', 'BlockChoice');Curr_choice = ['mymod/myconfigsys/' Curr_choice]; / /设置当前选项set_param (curr_choice MaskValues,…);

映射I / O端口

一个可配置的子系统显示一组与所选库中的输入和输出端口相对应的输入和输出端口。金宝appSimulink使用以下规则将库端口映射到可配置子系统块端口:

  • 将库中每个唯一命名的输入/输出端口映射到可配置子系统块上同名的单独输入/输出端口。

  • 将库中所有命名相同的输入/输出端口映射到可配置子系统块上的相同输入/输出端口。

  • 用。终止当前选择的库块未使用的任何输入/输出端口《终结者》/地面块。

这个映射允许用户更改用可配置子系统块,而不必重新连接到可配置子系统块。

例如,假设一个库包含两个块一个B那块一个有标记的输入端口一个b,c和一个有标签的输出端口d那块B有标记的输入端口一个b和一个有标签的输出端口e

一个可配置子系统块基于这个库将有三个标记的输入端口一个b,c,并有两个输出端口标记de

本例中为port一个可配置子系统块连接到端口一个,而不管选择了哪个库块。港口c可配置子系统块函数仅当库块A被选中时。否则,它将直接终止。

请注意

一个可配置子系统块不提供与非i /O端口对应的端口,例如触发和启用子系统上的触发器和启用端口。因此,不能使用可配置子系统块直接表示具有此类端口的块。但是,您可以通过将这些块包装在具有连接到非i /O端口的输入或输出端口的子系统块中间接地做到这一点。

转换为变型子系统

右键单击可配置的子系统并选择子系统及模型参考>转换子系统>不同的子系统

在转换过程中,Simulink执行以下金宝app操作:

  • 取代了子系统块和一个不同的子系统阻塞,保留端口和连接。

  • 将原始子系统作为变体选择添加到不同的子系统块。

  • 覆盖了不同的子系统块来使用最初是主动选择的子系统。

  • 保存到库的链接。对于链接子系统,Simulink添加了链接子系金宝app统作为变体选择。

    金宝appSimulink还保留子系统块掩码,并将掩码复制到变体选择中。

看到不同的子系统,以获取有关变量选择的更多信息。

港口

输入

全部展开

输入信号可配置子系统.阻碍可配置子系统表示确定输入信号支持的数据类型和维度。金宝app

依赖关系

输入端口的数量取决于库中的块可配置子系统代表。有关更多信息,请参见映射I / O端口

数据类型:一半|||int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点|枚举|公共汽车

输出

全部展开

输出信号可配置子系统.阻碍可配置子系统表示确定输出数据类型和维度。

依赖关系

输出端口的数量取决于库中的块可配置子系统代表。有关更多信息,请参见映射I / O端口

数据类型:一半|||int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点|枚举|公共汽车

参数

全部展开

选择您想要包括作为可配置子系统成员的块。您可以将用户定义的子系统包含为块。

编程使用

块参数:MemberBlocks
类型:字符向量的单元格数组
价值观:单元格数组的块名称作为字符向量
默认值:{"}

成员块的输入和输出端口列表。在多端口的情况下,您可以通过单击向上下来按钮。

块特征

数据类型

布尔一个|公共汽车一个|一个|枚举一个|不动点一个|一半一个|整数一个|一个|字符串一个

直接引线

没有

多维信号

有限的一个

适应信号

有限的一个

讨论二阶导数过零检测

没有

一个实际的数据类型或功能支持取决于块的实现。金宝app

扩展功能

之前介绍过的R2006a