Simulink 大规模建模最佳实践
这些最佳实践涵盖建模模式、工具和流程,经实践证明,能够帮助构建高效、可扩展且易于维护的 Simulink® 模型。具体涵盖的主题有:
- 组件化与接口
- 使用 MATLAB® 工程进行协作
- 数据管理
- 仿真性能改进
探索构建可扩展 Simulink 模型的方法,涵盖组件化、数据、接口、协作、性能以及易于维护的工作流。
大规模建模通常涉及复杂的闭环系统,其中包括被控对象模型、控制器、多个子系统,有时还有数十万甚至数百万个模块。
常见挑战包括模型可读性差、协作困难、数据管理复杂、仿真缓慢以及维护成本不断增加。
组件化将模型分解为若干可管理的单元,从而提高可读性、测试性、重用性、可维护性和协作性。
基于模型的设计使用可执行模型,在整个工程生命周期中开发、测试、验证和确认复杂系统。
模型架构、组件接口、数据管理、协作工作流和仿真性能。
通过使用模型引用、数据字典、MATLAB 工程、源代码管理和清晰的接口定义。
汽车、航空航天、机器人、工业自动化、能源系统、医疗器械和自主系统。
大型工业模型通常包含数十万个模块,一些企业级模型甚至超出一百万个模块。
可以提高开发效率、仿真效率、协作能力和模型重用性,并减少维护工作量。
建立组件化架构,而不是构建单个一体式模型。
使用模型引用、库和子系统构建可扩展的 Simulink 架构,从而提升复用性、协作效率、可测试性和性能。
组件化将大型模型划分为多个较小的可重用组件,各组件之间的接口定义明确。
模型引用支持将独立模型集成到更大的系统中,同时保持单独的开发工作流。
当组件需要独立开发、仿真、测试、重用或加速时,使用模型引用。
库通常用于可重用实用工具,而模型引用支持独立仿真、加速和增量编译。
子系统引用适用于共享组件、Simscape 工作流以及特定 HDL 开发场景。
总线将相关信号组合成一个结构化接口,从而简化大型模型中的连接。
总线可提高可读性、减少图面杂乱,并使接口更易于维护。
总线元素端口简化了对总线内部信号的访问,并降低了对单独 Bus Selector 模块的需求。
不同工程师可以处理单独的组件,而无需不断修改同一个模型文件。
会。组件化架构支持加速模式、增量编译、缓存重用和更快的初始化。
使用 MATLAB Projects 和 Git 进行 Simulink 协同开发
使用 MATLAB Projects 协作开发 Simulink 模型,涵盖源代码管理、依赖项分析、测试、CI/CD 以及易于维护的工作流。
MATLAB 工程提供环境管理、依赖关系管理、源代码管理集成和协作工具。
工程有助于自动化设置任务、标准化环境并减少手动配置工作。
打开工程会自动配置路径、变量、启动脚本、快捷方式和工程设置。
支持。MATLAB 工程与 Git 集成,并提供用于提交、拉取、推送、比较和合并操作的工具。
依赖关系分析器识别文件、模型、测试、库和数据字典之间的关系。
可以。工程针对被遮蔽的文件、未保存的更改、缺失依赖项和路径冲突发出警告。
工程引用支持一个工程使用并依赖另一个工程,同时保留环境配置。
MATLAB 包含图形化比较工具,可突出显示模型的功能性和非功能性更改。
MATLAB 提供专为 Simulink 文件设计的可视化合并工具。
可以。工程可与 Jenkins、GitHub、GitLab、Azure DevOps 和其他自动化平台配合使用。
可以。工程启动脚本和 API 可以自动化测试、报告和代码生成工作流。
使用数据字典、模型工作区、参量和值类型管理 Simulink 设计数据,实现可扩展、一致的基于模型的设计。
设计数据包括模型使用的参数、信号、数据类型、枚举、总线、别名和配置信息。
Simulink 数据字典是专用的 .sldd 文件,用于将设计数据与模型文件分隔存储。
数据字典有助于更好地组织数据,并增强持久性、变更跟踪、重用和协作能力。
基础工作区是全局的且基于会话,而数据字典提供结构化、持久化的存储。
可以。多个模型可以引用同一个数据字典。
可以。数据字典支持分层引用,从而支持各组织共享通用定义。
模型参量使一个引用模型的不同实例能够使用不同参数值。
值类型定义可重用属性,例如数据类型、单位、范围和维度。
可以逐步迁移。Simulink 支持将数据字典与现有工作区变量结合使用。
可以。它们支持变更跟踪、比较工作流以及与源代码管理系统的集成。
采用分层结构:各组件使用组件级数据字典,通用定义则存放在共享字典中,供各组件引用。
通过性能剖析、加速器模式、快速重启、并行计算和架构最佳实践来加速 Simulink 仿真。
性能瓶颈可能源于模型复杂度、求解器设置、架构不合理、数据记录过多或工作流效率低下。
Simulink 探查器、求解器探查工具、性能顾问和仿真元数据。
Simulink 探查器测量模块和子系统的执行时间,以识别缓慢区域。
求解器探查工具可分析求解器行为,识别过零次数过多、求解器频繁重置等问题。
性能顾问自动检查常见性能问题并推荐改进措施。
加速模式为模型执行生成编译代码,从而减少仿真开销。
快速加速模式会生成独立的可执行仿真目标,进一步提升仿真速度。
如果仅更改参数,快速重启可避免在多次仿真运行之间重新编译。
缓存文件存储编译的工件和仿真目标,以便在各仿真会话之间重用。
可以。parsim 工作流使多个仿真能够跨 CPU 内核并发运行。
组件化模型支持增量编译、选择性加速、缓存重用和更快的初始化。
首先使用探查工具找出瓶颈,然后对模型进行组件化,并利用加速模式、启用快速重启、并行运行多个仿真。
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)