定义、配置和激活变量
表示不同的选择
变体选择是模型中组件的两个或多个配置。实例中显示了如何表示变量选择不同的子系统块在你的模型中。有关表示设计变体的其他方法,请参见在Simulink中表示变量的选项金宝app.
添加一个不同的子系统块到你的模型,并命名它。
这个块作为变量选择的容器。
双击不同的子系统块。添加轮廓尺寸而且外港块,以便它们匹配该块的输入和输出。
请注意
您只能添加轮廓尺寸,外港,子系统,模型控件中的不同的子系统块。可以通过数据端口传递控制信号。
控件上的徽章右键单击不同的子系统块和选择块参数(子系统).
在块参数对话框中,单击
按钮,用于您想添加的每个变体子系统选择。
金宝app®创建空子系统控件中的不同的子系统块。新块具有与包含块相同数量的输入和输出端口不同的子系统块。
提示
(如果您的变体选择有不同数量的输入和输出端口,请参阅映射变量选择的导入和输出.)
打开每个子系统块并创建表示变体选择的模型。
在创建变体原型时,可以创建empty子系统控件中没有输入或输出的不同的子系统块。空子系统重新创建了一个子系统不活跃的情况,而不需要对变量进行完全建模。对于空的变量选择,要么指定一个变量激活条件,要么通过放置
%
条件前的符号。如果在编译期间空变量选择是活动的,Simulink将忽略它。金宝app
包括金宝app作为变量选择的模型
控件中可以包含一个Simulink模金宝app型作为变体选择不同的子系统块。
创建一个您想要包括作为一个变体选择的模型。确保它具有与包含的相同数量的输入和输出端口不同的子系统块。
请注意
如果您的模型有不同数量的输入和输出端口,请参见映射变量选择的导入和输出.
在模型中,右键单击不同的子系统块,包含不同的选项和选择块参数(子系统).
在块参数对话框中,单击
按钮,以添加模型块作为变量选择。
金宝appSimulink创造了一个未解决的问题模型块不同的子系统块。
双击未解决的模型块。在模型名称框中,输入要用作模型变量选择的模型的名称,然后单击好吧.
配置变量控制
您可以使用变量控件指定激活变量选择的条件。您也可以指定最多一个变量选项作为默认值。
在MATLAB中®命令提示符,指定组合时创建激活条件的控制变量。
Mode = 3;版本= 2;
右键单击不同的子系统块,它是模型中变量选择的容器块参数(子系统).
在块参数对话框中,在版本控制列,选择
(默认)
在其中一个选项旁边。金宝appSimulink验证只有一个变量选择是活动的模拟。如果允许零主动变量控制被选中后,可以有零变量选择。当控制条件未激活某个变量时,Simulink将使用默认变量进行模拟和代码生成。金宝app
为每个其他选项指定不同的条件。如果您正在使用一个空的变量选项,请为该选项指定一个变量条件。您还可以注释掉现有的激活条件,方法是在它前面加上
%
的象征。点击应用;否则,您的更改将不会保存。
转换为变体
在Simuli金宝appnk编辑器中,您可以将这些块转换为不同的子系统布洛克:
子系统块
模型块
变体模型块(用于在R2017b之前的版本中创建的模型)
有条件执行的子系统
为此,右键单击该块,然后在上下文菜单中单击子系统和模型参考>转换为>不同的子系统.
您还可以将这些块转换为不同的子系统块以编程方式。要做到这一点,可以使用以下语法:
例如,
open_system(“sldemo_variant_subsystems”);金宝appSimulink.VariantManager.convertToVariant(“sldemo_variant_subsystems /控制器”);
如果将不同的模型转换为不同的子系统,请注意模型块参数生成预处理器条件不同于不同的子系统块参数变体激活时间.对于变体模型,启用参数会导致模拟和更新图只编译活动的变体。对于变体子系统,启用该参数将编译所有变体,这会使模拟和更新速度变慢。
将不同的模型转换为不同的子系统可能要求您更新使用变体
命令行参数。