主要内容

在模型组件类型中进行选择

有用的模型组件具有定义良好的范围,执行由需求定义的功能,并构成更大系统的一部分。

在定义组件时,请考虑这些潜在的需求。

  • 文件争用——如果每个组件只有一个人在工作,那么可以有更大的组件。如果必须在几个人之间共享组件,则应该将设计划分为更小的逻辑块。如果必须由多人编辑同一文件,请参见合并比较报告金宝app中的Simulink模型

  • 可重用性——如果您希望在一个模型中多次使用一组块,请在可重用组件中定义该组块。通过避免重复,您可以更容易地维护模型。若要使用复制重构现有模型,请参见重构模型以提高组件重用(金宝app仿真软件检查)

  • 代码生成——如果必须为物理组件(如数字控制器)生成独立代码,则应该有一个表示物理组件并具有定义良好的接口的组件。

  • 验证成本——如果模型的一部分经常更改并且具有较高的测试成本,那么您应该将模型的这一部分作为一个单独文件中的组件来管理。在单独的文件中定义组件时,您可以使用项目源代码控制来控制和跟踪更改。有关源代码控制的更多信息,请参见配置管理

  • 模拟速度-对具有不同数值属性的组件使用不同的求解器可以提高模拟速度。类似地,基于采样率对块进行分组可以提高模拟速度。有关更多信息,请参见解算器分析器而且使用性能顾问提高仿真性能

建模需求会影响组件的大小。例如,小于500块的模型比较大的模型更容易测试。然而,当引用模型包含超过500个块时,模型层次结构的仿真可以更快。

金宝app组件

不同类型的Simulink金宝app®组件服务于各种建模需求。

部件类型 定义 内容来源 模型中的实现
子系统

一个子系统是一组独特的块,具有动态接口,可以继承其输入和输出的属性。

无-每个子系统需要手动添加内容

子系统

子系统块图标的角上没有徽章或三角形。

相关子系统

一个相关子系统的链接实例子系统存储在库中的块。如果禁用库链接,则链接块的每个实例都可以是惟一的。

图书馆档案(.slx. mdl),其中包含父库块或原型块

子系统使用库链接块

子系统块图标在左下角有一个链接徽章。

子系统的参考

一个子系统的参考是对具有动态接口的可重用块组的引用,该动态接口可以继承其输入和输出的属性。

子系统文件(.slx. mdl),其中包含引用的子系统

子系统的参考

子系统参考块图标的两个角上有一个三角形,它们彼此相对。

模型参考

一个模型参考是对具有已定义接口的模型的引用,该接口指定其输入和输出的属性。

模型文件(.slx. mdl,或.slxp),其中包含引用的模型,该模型可能是受保护的模型

模型

Model块图标的每个角上都有一个三角形。

金宝appSimulink模型可以使用这些组件的任意组合。例如,为了最小化大型模型的文件争用,您可以将子系统转换为引用的子系统和模型,这两个子系统和模型都保存在单独的文件中。

当您将子系统引用或模型引用从库拖到模型中时,它直接引用定义其内容的子系统文件或模型文件。只有当父库块直接应用了掩码时,它才具有库链接。通常,您应该使用模型掩码,它保存在引用的文件中,不需要库链接。

高级组件选择指南

每种类型的模型组件都有一个理想的用例:

  • 子系统——非常适合简化其他组件的框图

  • 链接子系统——实用程序和块集的理想选择

  • 子系统参考-减少文件争用和合并问题的理想选择

  • 模型参考——非常适合代码重用、单元测试、并行构建和大型组件

理想的用例是每种组件类型的可能用例的子集。例如,您还可以通过模型引用减少文件争用和合并问题,还可以对子系统进行单元测试。

提示

如果您希望子系统增长,请使其具有原子性,以便在功能上对块进行分组。当父模型执行时,原子子系统的行为类似于单个块或原子单元。原子行为是将子系统转换为模型引用所必需的。

有关何时使用不同组件化技术的概述,请参见基于组件的Simulink建模(4分28秒)金宝app

此流程图提供了选择组件类型的起点。

流程图显示了下面的文本。

如果组件满足以下所有条件,则考虑一个子系统:

  • 组件不需要定义接口或独立行为。

  • 该组件将不在源代码控制系统中进行管理。

  • 该组件将不会被重用。

如果组件满足以下所有条件,则考虑一个链接的子系统:

  • 组件不需要定义接口或独立行为。

  • 组件要么在源代码控制系统中管理,要么被重用。

  • 该组件将不包含足够多的块,也不能充分重用,从而无法从参考模型的加速模式模拟中获益。

  • 该组件将是一个已发布的实用程序,很少更改。

如果组件满足以下所有条件,则考虑子系统引用:

  • 组件不需要定义接口或独立行为。

  • 组件要么在源代码控制系统中管理,要么被重用。

  • 该组件将不包含足够多的块,也不能充分重用,从而无法从参考模型的加速模式模拟中获益。

  • 该组件将不是已发布的实用程序,这一点很少更改。

如果组件满足以下条件之一,则考虑模型引用:

  • 组件将需要一个已定义的接口或独立的行为。

  • 该组件将包含足够多的块,并且可以充分重用,以便从参考模型的加速模式模拟中获益。

模型层次结构是否受益于参考模型的加速模式模拟取决于许多因素。对于每个以加速模式进行模拟的参考模型,Simulink必须构建和编译一个模拟目标。金宝app这些目标被引用模型的其他实例重用,当模型层次结构包含引用模型的许多实例时,这会加速仿真。如果引用的模型没有改变,则可以重用其模拟目标,该目标存储在Simulink缓存文件(金宝app.slxc).有关更多信息,请参见共享Simu金宝applink缓存文件以实现更快的仿真

建模需求考虑事项

在实现基于高级指南的组件之前,请考虑额外的建模需求。例如,如果您需要在组件接口上进行物理连接,则必须使用子系统、链接子系统或引用子系统。如果您需要知识产权保护,您必须创建一个受保护的模型,以供参考。

若要确定组件是否满足建模需求,请参见比较模型组件的能力

另请参阅

|

相关的话题