人在仿真软件金宝app

金宝appSimulink &基于模型的设计

R2019b新增:子系统参考

今天我想介绍MATLAB R2019b中我最喜欢的新特性:子系统的参考

让我们来看看它是什么,它是如何工作的,以及什么时候你应该使用它。

创建子系统文件

在R2019b中,我们将引入一种新的框图类型。除了模型文件和库文件,现在可以创建子系统文件:

新菜单,包括子系统参考

在Current Folder窗口中,你可以通过图标和类型来区分模型、子系统和库:

比较文件类型

在命令行中,如果子系统是打开的,你可以使用get_param确定它是什么类型的框图:

文件类型

如果您需要确定slx文件是哪种类型的框图,而不需要打开它,甚至不需要将它加载到内存中,您也可以使用Simulink。金宝appMDLInfo:

块图表类型

引用子系统文件

首先要认识到的是子系统文件不能单独模拟。如果您想要为存储在子系统文件中的框图模拟或生成代码,您需要在模型中引用它。

要引用子系统文件,首先使用子系统块.在R2019b中,您会注意到子系统块有一个名为子系统引用的新选项卡。为了方便起见,我们还在Simulink库中添加了一个名为子系统引用的块,它只金宝app是一个预先配置用来引用子系统文件的子系统块。

下面是一个我配置和编辑一个引用的子系统的动画。如您所见,进入和编辑子系统就像编辑标准子系统一样简单。

编辑子系统参考

转换现有子系统

如果您有一个现有的模型,并且希望将现有的子系统转换为引用的子系统,您可以简单地右键单击现有的子系统来进行转换。

转换子系统引用

实例特定上下文感知

以一种类似于库块的方式,可以在一个模型中使用同一个子系统的多个实例,并且每个实例适应其上下文。下一幅图显示了一个具有同一个子系统的3个实例的模型,一个接收一个复标量双倍,一个接收一个2x3的矩阵,第三个实例接收一个两个整数的向量。

转换子系统引用

屏蔽

如果您希望引用子系统的多个实例接受不同的参数值,您可以为子系统创建一个掩码。这是在Modeling选项卡完成的:

掩蔽子系统参考

这将允许您将不同的参数值传递给子系统的不同实例。下一个图像显示了同一个子系统的3个实例。第一个取不同的增益块值,最后一个取向量2作为输入。

子系统引用的多个实例

何时使用子系统引用?

现在最大的问题是:何时使用子系统引用?

这个问题的官方答案是阅读文档部分基于组件的建模指南.在本部分的文档中,你会发现这个流程图:

组件化原则

以下是我如何做出这个决定的浓缩版本。要组件化一个模型,你需要在3种技术之间进行选择:库、模型引用和子系统引用:

  • 库:创建一个块集。块集是块的集合,分布给大量的受众,很少改变。为了方便这个用例,库提供了像转发表和链接管理这样的特性。
  • 模型参考:创建具有定义良好的刚性接口的独立组件。模型参考提供了许多强大的功能,如加速器模式,软件在环,处理器在环和保护。如果您计划创建大型模型,模型参考将帮助您以一种健壮而有效的方式进行伸缩。
  • 子系统参考:将模型的一部分保存到单独文件的最简单方法。有时,我喜欢将子系统引用描述为只包含一个子系统的库,并删除了用于管理块集的所有有用特性,如果您只是想将一个子系统的内容保存在一个单独的文件中,那么这些块集实际上并不需要。

我们还把它们放在一起这个表这提供了关于这三种技术的更多细节。

现在轮到你了

如上所述,我强烈建议您通过基于组件的建模指南查看可用于组件化模型的所有选项及其含义。

请尝试一下子系统参考,并在下面的评论中告诉我们你的想法。

|

评论

请点击留下评论在这里登录到你的MathWorks帐户或创建一个新的。