人在仿真软件万博1manbetx

万博1manbetxSimulink &基于模型的设计

变体:在R2018b中有哪些选项?

我发布了变体在过去,从那时起,事情发生了很大的变化,所以我认为审查R2018B中的变体的选项是个好主意。

不同的子系统

如果您不熟悉变体的概念,我建议使用文档页面开始什么是变体和何时使用它们.简而言之,变体的概念允许您拥有模型中存在但有条件编译的块和子系统。

对于变体子系统,它可以包含一组变体实现,并且只有其中一个可以一次激活。这是一种概述了变体子系统的图像。

不同的子系统

变体水槽和源

变体下沉块是具有多个输入和一个输出(源)或一个输入和多个输出(接收器)的块。根据我稍后讨论的不同条件,只有一个端口处于活动状态,并且在模型编译期间不包括连接到其他端口的块。

在下面的示例中,第一个输入是活动的。正弦波,“原罪”和平方根是不活跃的和灰色的,因为他们不需要。

变异来源

现在,让我们看看可用于控制哪种变体是活动的选项。

使用标签模式控制变量

以前命名为“覆盖变体条件“, 这标签模式主要是针对希望交互方式指定活动变量的用户。

打开变量的块参数对话框(子系统,源或宿 - 它们都有相同的工作)时,可以使用以下步骤配置Variant:

配置标签模式

一旦配置了块,你可以通过右键单击块上显示的变量徽章来更改活动变量:

配置标签模式

如果你更喜欢,也可以用set_param.以编程方式更改活动变量。

使用表达式控制变体

使用Expression模式,为每个变体指定表达式。此表达式必须是一个有效的MATLAB表达式,可评估为TRUE或FALSE。

配置表达式模式

代码生成

当变量由表达式控制时,您就有了与代码生成相关的附加功能。最重要的是生成预处理器条件

在下一张图片中,我指定了“a==1”和“a==2”作为变量源和Sink块中的条件,我定义了“a”作为Simulink。万博1manbetx参数对象。在生成代码时,这两个条件都是存在的,并受到预处理条件的保护。这允许您只生成一次代码,然后构建不同的配置。

生成预处理器条件

手动变体水槽和源

最后要强调的一项:Manual Variant下沉块。

这些块的使用非常简单:双击块以切换哪个分支处于活动状态。

手动变体

在模型编译期间,将仅编译连接到活动分支的块。

现在轮到你了

请让我们知道您对这些选项的看法,以及您如何控制模型中的变体。

|

评论

要发表评论,请点击在这里登录您的MathWorks帐户或创建新的。