主要内容

基于组件的建模指南

组件化有利于开发Simulink的组织®由许多功能块组成的模型。使用模型组件可以实现:

  • 基于团队的开发——减少文件争用,并通过定义良好的接口独立地细化组件。

  • 降低设计复杂性-每个组件解决更小的问题。

  • 组件重用——在项目内和跨多个项目重用算法和环境模型。

  • 单元测试——消除对不变组件的重新测试,减少验证成本。

  • 可扩展的性能优势——减少内存使用和加载和模拟模型所需的时间。

  • 组件变体——在组件的多个实现中进行选择。

  • 知识产权保护——限制与第三方共享的组件的功能和内容可见性。

是否应该创建模型组件?

考虑到定义和管理组件所需的工作,您应该仅在收益大于成本时才使用基于组件的建模。

将现有的Simulink模型分离成组件类似于将一大块代码(C、Java或MATLAB)®代码)并将其分解为多个函数。如果设计从一开始就不是模块化的,那么转换可能需要大量的努力和大量的修改。

预先考虑模型的可伸缩性和潜在的需求,可以更容易地将Simulink模型分离为组件。预先确定组件可以帮助你避免这些困难:

  • 糟糕的组件定义——随着时间的推移,子系统的范围可能无法满足组件的需求。例如,它们可能包含太多或太少的功能,无法重用,无法生成与遗留功能集成的代码,或无法支持硬件在环测试。

  • 合并冲突——如果更多的工程师开始在一个最初由一个工程师设计的模型上工作,他们可能会遇到耗时且容易出错的合并。

  • 代数循环——如果一个工程师从下往上开发一个模型,随着模型复杂性的增加,他们很可能将块分组到子系统中。模型中的子系统很可能是不影响模型执行的可视分组。当您使这些子系统具有原子性,或将它们转换为引用模型时,您可能会引入不必要的代数循环,这些循环难以诊断和修复。

当设计变得过于复杂,一个人无法管理所有细节时,组件也很有用。例如,一个复杂的模型可以是这样的:

  • 几千块

  • 成百上千的逻辑决策

  • 相同功能的多个不同配置

项目和源代码控制可以帮助您管理组件。有关更多信息,请参见是什么项目?而且配置管理

定义模型组件

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

确定与您的高级建模需求一致的Simulink组件。

2.比较模型组件的功能 研究哪些类型的模型组件满足您的底层建模需求。
3.定义模型组件的接口 在接口上配置设计属性并管理模型组件的数据。
Baidu
map