主要内容

定义,配置和激活变量

代表变体选择

变体选项是模型中的两个或多个组件配置。此示例显示如何表示A内的变体选择变体子系统块在您的模型中。有关代表设计变体的其他方式,请参阅在Simulink中表示变体的选项金宝app

  1. 添加A.变体子系统块到您的模型并命名。

    该块用作变体选择的容器。

  2. 双击变体子系统堵塞。添加inport.外港块使它们与此块的输入匹配和输出。

    笔记

    你只能添加inport.外港子系统, 和模型A内的块变体子系统堵塞。您可以通过数据端口传递控制信号。

  3. 右键单击徽章变体子系统块并选择块参数(子系统)

  4. 在“块参数”对话框中,单击“为您要添加的每个变体子系统选择的按钮。

    金宝app®创造空子系统块内部变体子系统堵塞。新块具有与包含相同数量的输入和输出端口变体子系统堵塞。

    小费

    (如果您的变体选择具有不同数量的输入和输出端口,请参阅映射Inports和Varport的变体选择。)

  5. 打开各个子系统块并创建表示变体选择的模型。

  6. 当您是原型变种时,您可以创建空子系统没有输入或输出的块变体子系统堵塞。空子系统重新创建子系统在不需要完全建模变体的情况下处于非活动状态的情况。对于空变体选择,请指定变体激活条件或通过放置一个变量条件条件前的符号。

    如果在编译期间空变量选择处于活动状态,则Simulink将忽略它。金宝app

包括金宝app模型作为变体选择

您可以将Simulink模型包含在A金宝app内的变体选择变体子系统堵塞。

  1. 创建要包含作为变体选择的模型。确保它具有相同数量的输入和输出端口作为包含的变体子系统堵塞。

    笔记

    如果您的模型具有不同数量的输入和输出端口,请参阅映射Inports和Varport的变体选择

  2. 在模型中,右键单击变体子系统包含变体选择并选择的块块参数(子系统)

  3. 在“块参数”对话框中,单击“按钮添加一个模型块作为变体选择。

    金宝appsimulink创建一个未解决的模型块在变体子系统堵塞。

  4. 双击未解决的模型堵塞。在里面型号名称框,输入要用作模型变体选择的型号的名称,然后单击好的

配置变型控件

您可以指定使用变体控制激活变体选择的条件。您还可以在最多的一个变体选择中指定默认值。

  1. 在Matlab.®命令提示符,指定组合时创建激活条件的控制变量。

    mode = 3;版本= 2;

  2. 右键单击变体子系统块是模型中的变体选择的容器,然后选择块参数(子系统)

  3. 在“块参数”对话框中,在变体控制列,选择(默认)在其中一个选择旁边。

    金宝appSimulink验证只有一个变体选择是否有效仿真。如果允许零主动变体控制被选中,您可以具有零变体选择。当控制条件不激活变型时,Simulink使用默认变体进行仿真和代码生成。金宝app

  4. 指定每个其他选择的变体条件。如果您使用的是空变量选择,请指定选择的变体条件。您也可以通过将其提示出现现有的激活条件象征。

  5. 点击申请;否则,您的更改不会保存。

转换为变体

在Simuli金宝appnk编辑器中,您可以将这些块转换为a变体子系统堵塞:

  • 子系统堵塞

  • 模型堵塞

  • 变体模型块(对于在R2017B之前在版本中创建的模型)

  • 有条件地执行的子系统

为此,请右键单击块,然后在上下文菜单中单击子系统和模型参考>转换成>变体子系统

您还可以将这些块转换为变体子系统以编程方式块。为此,请使用这些语法中的任何一种:

  • 金宝appsimulink.variantmanager.converttovariant(GCB.

  • 金宝appsimulink.variantmanager.converttovariant(GCBH.

例如,

Open_System('sldemo_variant_subsystems');金宝appsimulink.variantmanager.converttovariant('sldemo_variant_subsystems / controller');

如果将变量模型转换为变体子系统,请注意其行为模型块参数生成预处理器条件不同于变体子系统块参数变体激活时间。对于变量模型,启用该参数会导致仿真和更新图以仅编译活动变量。对于变量子系统,使参数能够编译所有变体,可以进行仿真和更新较慢。

将变体模型转换为变体子系统可能要求您更新使用的脚本变体命令行参数。

相关例子

更多关于