定义、配置和激活变体选择子系统块一个变体
代表变体选择子系统的一个变体
变体选择两个或两个以上配置的组件模型。这个例子展示了如何表示在一个变体的选择不同的子系统块。一个不同的子系统块可以结合使用子系统,模型,或子系统的参考块是不同的选择。其他方法来表示设计变量,看到在仿真软件类型的变体金宝app。
添加一个不同的子系统块模型和名称。
这一块是变体选择的容器。
双击不同的子系统块。添加轮廓尺寸和外港块,这样他们匹配的输入和输出不同的子系统块。
请注意
你只可以添加轮廓尺寸,外港,子系统,模型,子系统的参考块内不同的子系统块。你可以通过控制信号通过数据端口。
打开参数对话框。右键单击的徽章不同的子系统块,并选择块参数(子系统)。
提示
在所有参数的信息不同的子系统块,看变体子系统,变体模型。
的变量的选择表在块参数对话框中显示了包含在变量的选择不同的子系统。您可以使用按钮左边的表添加或修改元素表。
行动 按钮 创建和添加一个新的子系统的选择:创建一个新的子系统块作为一个变体的选择和添加新表中选择一个条目。 创建和添加一个新的模型变量的选择:创建一个新的模型块作为一个变体的选择和添加新表中选择一个条目。 创建/编辑选定的变量对象:创建或编辑
金宝appSimulink.Variant
全球工作区并指定对象变异条件使用金宝appSimulink.Variant
对象参数对话框。请注意
模型使用工作区底部,此操作创建
金宝appSimulink.Variant
基工作区中的对象,对象仅为当前MATLAB会话。永久存储数据,保存对象在垫子上文件或MATLAB脚本。打开选定的变量选择:打开子系统为选中的行块。 从变体刷新对话框信息子系统的内容:更新变量的选择表根据变量控制的变体的选择和价值观在全球工作区。
包括子系统块是不同的选择
包括子系统块内部的一个变体的选择不同的子系统:
在块参数对话框中,单击按钮,选择您想要添加每个变体子系统。
金宝app®创建空子系统块内不同的子系统块。新块具有相同数量的输入和输出端口包含不同的子系统块。
提示
如果你的变体选择不同数量的输入和输出端口,看看港口和外港地图子系统变体选择的变体。
打开每个子系统块和创建模型代表一个变体的选择。
原型变量时,您可以创建空的子系统街区内没有输入或输出不同的子系统块。空子系统再现哪一个子系统是不活跃的情况不需要完全建模变体。为一个空的变体的选择,指定一个激活条件变体或注释掉放置的变异情况
%
符号前的状态。如果空变体的选择是活跃在编译过程中,模型忽略了它。金宝app
包括金宝app模型变量的选择
可以包含一个仿真软件模型内选择一个变金宝app体不同的子系统块。
你想创建一个模型包括作为一个变体的选择。确保它有相同数量的输入和输出端口包含不同的子系统块。
请注意
如果你的模型有不同数量的输入和输出端口,看看港口和外港地图子系统变体选择的变体。
在你的模型中,右键单击不同的子系统块包含变量的选择和选择块参数(子系统)。
在块参数对话框中,单击按钮来添加一个模型块作为一个变体的选择。
金宝app模型创建一个未解决的模型块的不同的子系统块。
双击未解决的模型块。在模型名称框中,输入模型您希望使用的名称作为模型变量的选择和点击好吧。
配置不同的控制
您可以指定的条件激活一个变体的选择使用版本控制。虽然每个变体的选择模型与变量相关联控制,控制可以评估只有一个变体真正的
。您还可以指定一个变体作为默认选择。
你可以选择你想要的方式来指定变量控制使用变量控制方式参数。下面的例子使用了表达式
模式。在这里,我们指定变量控制作为布尔条件表达式包含正常的MATLAB®模型的基本工作空间中定义的变量。
在MATLAB命令窗口中,指定变量控制变量时,创建一个激活条件的总和。
模式= 3;版本= 2;
右键单击不同的子系统块的容器是变体的选择在你的模型和选择块参数(子系统)。
在块参数对话框,版本控制列,选择
(默认)
一个选择。指定一个变量条件每一个其他的选择。如果您使用的是一个空的变体的选择,指定一个条件变体或注释掉现有的选择在激活条件
%
符号前的状态。金宝app仿真软件评价变量控制和确认只有一个变体的选择是活跃在模拟。如果没有控制评估的变体
真正的
,仿金宝app真软件使用(默认)
变体的模拟和代码生成。如果允许控制零活跃的变体被选中时,你可以有0活跃的变体的选择不同的子系统。当您选择此选项,没有活跃的变体的选择,仿真软件模拟该模型没有任何活跃的变体的选择金宝app不同的子系统。该参数只提供如果没有
(默认)
变体选择的不同的子系统如果你设置变量控制方式来表达式
。点击应用保存更改。
港口和外港地图子系统变体选择的变体
一个不同的子系统块可以结合使用子系统,模型,或子系统的参考块是不同的选择。的输入不同的子系统阻止接收上游模型组件映射到输入和输出端口的变体的选择。
代表变体选择的块可以有输入和输出端口不同数量的输入和输出端口的父母不同的子系统块。然而,必须满足下列条件:
变体的选择必须有相同的港口不同的子系统块或容器必须在集装箱港口的一个子集。
变体的选择必须有相同的外港不同的子系统块或容器必须在集装箱港口的一个子集。
变体的选择必须有相同的设置控制端口不同的子系统容器。
在仿真中,仿真软件禁用的不活跃的港口金宝app不同的子系统块。
转换为块变体子系统
在模型编辑器中金宝app,您可以将这些块不同的子系统布洛克:
子系统块
模型块
变体模型块(模型中创建版本早于R2017b)
有条件地执行子系统
为此,右键单击块。然后,在上下文菜单中,单击子系统和模型参考>转换为>不同的子系统。
你也可以将这些块不同的子系统块以编程方式。为此,使用这些语法:
例如:
open_system (“sldemo_variant_subsystems”);金宝appSimulink.VariantManager.convertToVariant (“sldemo_variant_subsystems /控制器”);
如果你把变体模型变体子系统,注意的行为模型块参数生成预处理条件是不同的比不同的子系统块参数变体激活时间。对于变异模型,使生成预处理条件参数使模拟和更新图编译只活跃的变体。变体子系统,使参数编译所有的变异,从而减少模拟和更新。
转换变异模型变体子系统需要你更新的脚本,可以使用变体
命令行参数。