主要内容

比较模型组件的功能

在您使用特定的组件类型实现系统的某个部分之前,请考虑组件类型是否满足您的建模需求。

组件的考虑 建模需求
开发过程
  • 组件重用

  • 共享数据

  • 特定于编辑

  • 版本控制和配置管理

  • 知识产权保护

  • 单元测试

性能需求
  • 增量式模型加载

  • 构建构件重用

  • 减少大型模型的内存使用

  • 人工代数循环消除

特性
  • 兼容配置参数设置

  • 接口处的信号特性规范

  • 总线规范

  • 状态初始化

  • 代码生成

开发过程

建模的要求 子系统 相关子系统 子系统的引用 模型引用
组件重用

不支持金宝app

虽然您可以复制一个子系统以在模型中重用它,但复制是相互独立的。

当您编辑一个子系统时,更改将应用到父模型文件。

要创建或更改子系统,您必须打开父模型,当多人想要在模型中工作时,这会导致文件争用。

金宝app支持

您可以将链接块的父库块保存在与链接到它的模型分离的文件中。使用单独的文件有助于避免文件争用。

您可以在多个模型中多次链接到同一个父库块,而无需创建副本。

管理库链接会增加一些开销,比如管理损坏的、禁用的或参数化的链接。

金宝app支持

您将引用的子系统保存在与引用它的模型分离的文件中。使用单独的文件有助于避免文件争用。

您可以在多个模型中多次引用相同的子系统,而不需要创建副本。

金宝app支持

您将引用的模型保存在与引用它的模型分离的文件中。使用单独的文件有助于避免文件争用。

您可以在多个模型中多次引用同一个模型,而无需创建副本。看到模型重用

共享数据

金宝app支持

通过在组件外部定义数据,可以在实例之间共享数据。例如,通过在公共父子系统中使用数据存储。

金宝app支持

与子系统的行为相同。

金宝app支持

与子系统的行为相同。

金宝app支持

通过在模型中创建数据存储,您可以在被引用模型的实例之间共享数据。看到在被引用的模型实例之间共享数据

特定于编辑

金宝app支持

子系统副本是相互独立的。

金宝app支持

当您编辑父库块时,更改将应用到库文件并传播到链接到该块的所有块。

要编辑块的实例,可以禁用library链接。

当父库块有写访问限制时,不能禁用库链接。

不支持金宝app

当您编辑一个被引用的子系统的实例时,更改将应用到子系统文件并传播到被引用子系统的所有其他实例。

不支持金宝app

当您编辑一个引用模型的实例时,更改应用到模型文件,并传播到引用模型的所有其他实例。

版本控制和配置管理

不支持金宝app

您不能直接在源代码控制系统中放置子系统。

要减少文件争用并对每个子系统使用单独的版本控制,请使用一个子系统引用。

金宝app支持

您可以将库文件放在源代码控制系统中。

要为每个库块提供单独的版本控制,请使用库中的子系统引用和模型引用。当您将这些块从库拖到模型中时,它们会引用子系统文件或模型文件。

转发表允许您将旧的库块映射到新版本的块。

金宝app支持

您可以将子系统文件放在源代码控制系统中。

金宝app支持

您可以将模型文件放在源代码控制系统中。

知识产权保护

不支持金宝app

取而代之的是使用模型引用。

不支持金宝app

与子系统的行为相同。

不支持金宝app

与子系统的行为相同。

金宝app支持

受保护的模型模糊了模型内容,这在分发模型时很有用。

创建保护模型需要金宝app®编码器™许可证。使用受保护的模型就可以了需要一个金宝app仿真软件编码器许可证。

单元测试

金宝app支持

子系统依赖于它们在模型中的上下文。如果子系统的上下文发生变化,例如输入信号的数据类型,那么相关的测试工具必须更新。

对于非原子的子系统,由于虚拟边界,测试工具可能使用不同的块执行顺序。

有关支持编写、管理和执行子系统金宝app的基于模拟的系统测试的工具,请参见创建测试工具并选择属性(金宝app仿真软件测试)

要度量模型组件的测试程度,请参见模型覆盖(金宝app仿真软件覆盖)

金宝app支持

与子系统的行为相同。

金宝app支持

与子系统的行为相同。

金宝app支持

您可以独立测试被引用的模型,通过将其模拟为顶级模型来隔离行为。

您可以使用一个数据定义的测试工具,使用MATLAB®测试向量和直接覆盖集合。

有关支持编写、管理和执行子系统金宝app的基于模拟的系统测试的工具,请参见创建测试工具并选择属性(金宝app仿真软件测试)

要度量模型组件的测试程度,请参见模型覆盖(金宝app仿真软件覆盖)

性能需求

建模的要求 子系统 相关子系统 子系统的引用 模型引用
增量式模型加载

不支持金宝app

加载模型将加载保存在模型中的所有子系统内容。

金宝app支持

金宝appSimulink在编辑、更新图表或模拟模型期间所需的位置增量加载库。

金宝app支持

金宝appSimulink在编辑、更新图表或模拟模型期间所需的点上增量地加载引用的子系统。

金宝app支持

金宝appSimulink在编辑、更新图表或模拟模型期间所需的点上增量地加载引用的模型。

构建构件重用

不支持金宝app

构建工件,如模拟目标,不会为子系统生成。

不支持金宝app

与子系统的行为相同。

不支持金宝app

与子系统的行为相同。

金宝app支持

您可以使用Simulink缓存文件共享和重用构建构件,比如模拟目标。金宝app有关更多信息,请参见共享Simu金宝applink缓存文件以实现更快的模拟

减少大型模型的内存使用

不支持金宝app

子系统不会减少模拟和代码生成所需的内存使用。

不支持金宝app

链接的子系统不会减少模拟和代码生成所需的内存使用。

金宝appSimulink在块更新期间复制库块实例。

不支持金宝app

子系统引用不会减少模拟和代码生成的内存使用。

金宝appSimulink在块更新期间复制子系统引用实例。

金宝app支持

加速器模式中引用的模型减少了模拟和代码生成所需的内存使用,因为Simulink会增量地加载它们的编译版本。金宝app

人工代数循环消除

金宝app支持

非原子的子系统避免了人工代数循环。

如果子系统是原子的,您可以通过启用子系统块参数最小化代数循环的出现

金宝app支持

与子系统的行为相同。

金宝app支持

与子系统的行为相同。

金宝app支持

您可以尝试通过启用来消除人工代数循环配置参数>模型参考>最小化代数循环的出现

特性

建模的要求 子系统 相关子系统 子系统的引用 模型引用
兼容配置参数设置

金宝app支持

子系统使用包含它们的模型的配置参数设置。

金宝app支持

与子系统的行为相同。

金宝app支持

与子系统的行为相同。

金宝app支持

对于父模型及其引用的模型,配置参数设置通常是不同的。有关兼容性信息,请参见为模型层次结构设置配置参数

接口处的信号特性规范

金宝app支持

您可以在子系统接口上指定信号属性。

对于您没有指定的信号属性,子系统从它们的上下文中继承信号属性。信号特性的传播可能导致Simulink使用您没有预料到的信号特性。金宝app

金宝app支持

与子系统的行为相同。

金宝app支持

与子系统的行为相同。

金宝app支持

必须在引用的模型接口上指定大多数信号属性。

引用的模型与上下文无关,有一个定义好的边界,所以它们不继承大多数信号属性。

当引用模型与样本时间无关时,引用模型可以继承离散的样本时间。

总线规范

金宝app支持

你可以用金宝appSimulink.Bus对象来指定传递到子系统的总线的数据类型。

子系统不需要使用公共汽车对象用于虚拟总线。

金宝app支持

与子系统的行为相同。

金宝app支持

与子系统的行为相同。

金宝app支持

你可以用金宝appSimulink.Bus对象,以指定传递到引用模型的总线的数据类型。

模型引用不需要使用公共汽车对象,用于虚拟总线在公共汽车元素公共汽车元素块。

状态初始化

金宝app支持

您可以初始化子系统的状态。

金宝app支持

与子系统的行为相同。

金宝app支持

与子系统的行为相同。

金宝app支持

您可以使用structure格式或structure-with-time格式从top模型初始化状态。有关更多信息,请参见引用模型的状态信息

代码生成

金宝app支持

有关子系统代码生成的信息,请参见子系统功能的控制生成(金宝app仿真软件编码器)

金宝app支持

有关链接的子系统代码生成的信息,请参见子系统功能的控制生成(金宝app仿真软件编码器)

金宝app支持

与子系统的行为相同。

金宝app支持

有关引用的模型代码生成的信息,请参见为模型引用层次结构生成代码(金宝app仿真软件编码器)

相关的话题

外部网站