Simulin金宝appk上的家伙

金宝appSimulink &基于模型的设计

R2019b新增:子系统参考

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

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

创建子系统文件

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

新的菜单,包括子系统参考

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

比较文件类型

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

文件类型

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

框图类型

引用子系统文件

要认识到的第一件重要的事情是子系统文件不能单独模拟。如果您希望为存储在子系统文件中的框图模拟或生成代码,则需要在模型中引用它。

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

这是一个我配置和编辑引用子系统的动画。正如您所看到的,进入子系统并编辑它就像编辑标准子系统一样简单和容易。

编辑子系统参考

转换现有子系统

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

转换子系统引用

实例特定上下文感知

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

转换子系统引用

屏蔽

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

屏蔽子系统参考

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

子系统引用的多个实例

何时使用子系统参考?

现在最大的问题是:什么时候使用子系统参考?

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

组件化原则

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

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

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

现在轮到你了

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

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

|
  • 打印
  • 发送电子邮件

コメント

コメントを残すには,ここをクリックしてMathWorksアカウントにサインインするか新しいMathWorksアカウントを作成します。