基于组件的建模指南
组件化有利于开发Simulink的组织®由许多功能块组成的模型。使用模型组件可以实现:
基于团队的开发——减少文件争用,并通过定义良好的接口独立地细化组件。
降低设计复杂性-每个组件解决更小的问题。
组件重用——在项目内和跨多个项目重用算法和环境模型。
单元测试——消除对不变组件的重新测试,减少验证成本。
可扩展的性能优势——减少内存使用和加载和模拟模型所需的时间。
组件变体——在组件的多个实现中进行选择。
知识产权保护——限制与第三方共享的组件的功能和内容可见性。
是否应该创建模型组件?
考虑到定义和管理组件所需的工作,您应该仅在收益大于成本时才使用基于组件的建模。
将现有的Simulink模型分离成组件类似于将一大块代码(C、Java或MATLAB)®代码)并将其分解为多个函数。如果设计从一开始就不是模块化的,那么转换可能需要大量的努力和大量的修改。
预先考虑模型的可伸缩性和潜在的需求,可以更容易地将Simulink模型分离为组件。预先确定组件可以帮助你避免这些困难:
糟糕的组件定义——随着时间的推移,子系统的范围可能无法满足组件的需求。例如,它们可能包含太多或太少的功能,无法重用,无法生成与遗留功能集成的代码,或无法支持硬件在环测试。
合并冲突——如果更多的工程师开始在一个最初由一个工程师设计的模型上工作,他们可能会遇到耗时且容易出错的合并。
代数循环——如果一个工程师从下往上开发一个模型,随着模型复杂性的增加,他们很可能将块分组到子系统中。模型中的子系统很可能是不影响模型执行的可视分组。当您使这些子系统具有原子性,或将它们转换为引用模型时,您可能会引入不必要的代数循环,这些循环难以诊断和修复。
当设计变得过于复杂,一个人无法管理所有细节时,组件也很有用。例如,一个复杂的模型可以是这样的:
几千块
成百上千的逻辑决策
相同功能的多个不同配置
定义模型组件
1.在模型组件类型中进行选择 | 确定与您的高级建模需求一致的Simulink组件。 |
2.比较模型组件的功能 | 研究哪些类型的模型组件满足您的底层建模需求。 |
3.定义模型组件的接口 | 在接口上配置设计属性并管理模型组件的数据。 |