主要内容

可配置子系统

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

  • 图书馆:
  • 万博1manbetxSimulink/端口和子系统

  • 可配置子系统块

描述

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

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

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

有关转换的详细信息,请参见可配置子系统封锁不同的子系统布洛克,见将可配置子系统转换为可变子系统

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

这个可配置子系统块表示包含在指定块库中的一组块中的一个。的上下文菜单可配置子系统块用于选择可配置子系统表示的块。

可配置子系统块简化了表示设计族的模型的创建。例如,假设您要对提供发动机选择的汽车进行建模。要对此类设计进行建模,您首先要创建汽车可用发动机类型的模型库。然后使用可配置子系统在您的汽车模型中块来表示发动机的选择。要对基本汽车设计的特定变型进行建模,用户只需使用可配置发动机模块对话框选择发动机类型。

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

您可以向主可配置子系统库添加任何类型的块。Simulink万博1manbetx®通过从所有选项的端口名称生成惟一列表,派生可配置子系统的端口名称。然而,Simuli万博1manbetxnk使用默认端口名来选择非子系统块。

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

创建主可配置子系统

要创建主可配置子系统,请执行以下操作:

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

  2. 保存库。

  3. 创建可配置子系统在图书馆阻塞。

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

  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端口

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

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

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

  • 终止当前所选库块未使用的任何输入/输出端口终端/接地

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

例如,假设一个库包含两个块A.B那块A.已标记输入端口A.,B,C和一个有标签的输出端口D那块B已标记输入端口A.B和一个有标签的输出端口E

A.可配置子系统块基于这个库将有三个标记的输入端口A.,B,C,并有两个输出端口标记DE

在本例中,端口A.可配置子系统块连接到端口A.,而不管选择了哪个库块。港口C可配置子系统仅当选择了库块A时,块才起作用。否则,它就会终止。

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

转换为变型子系统

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

在转换过程中,Simulink执行以下万博1manbetx操作:

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

  • 将原始子系统作为变量选项添加到不同的子系统

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

  • 保留指向库的链接。对于链接的子系统,Simulink将链接的子系统添加为变量选项。万博1manbetx

    万博1manbetxSimulink还保留子系统块掩码,并将掩码复制到变体选项。

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

港口

输入

全部展开

输入信号至可配置子系统.阻碍可配置子系统表示确定支持的数据类型和输入信号的维度。万博1manbetx

依赖关系

输入端口的数量取决于可配置子系统代表。有关详细信息,请参阅映射I/O端口

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

输出

全部展开

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

依赖关系

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

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

参数

全部展开

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

程序化使用

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

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

块特征

数据类型

布尔[A.]|公共汽车[A.]|[A.]|枚举[A.]|定点[A.]|一半[A.]|整数[A.]|单一的[A.]|一串[A.]

直接馈通

多维信号

有限的[A.]

可变大小信号

有限的[A.]

讨论二阶导数过零检测

[A.]实际的数据类型或功能支持取决于块实现。万博1manbetx

扩展能力

HDL代码生成
使用HDL Coder™为FPGA和ASIC设计生成Verilog和VHDL代码。

之前介绍过的R2006a