Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

共享 Simulink 缓存文件以加快仿真速度

Simulink® 缓存文件包含可以加快仿真和代码生成的编译工件。要生成这些编译工件并将其自动打包到 Simulink 缓存文件中,请执行以下操作之一:

  • 更新包含在 Accelerator 模式中引用的模型的模型层次结构的图

  • 仿真包含在 Accelerator 模式中引用的模型的模型层次结构

  • 在 Accelerator 或 Rapid Accelerator 模式下仿真顶层模型

  • 为模型或模型层次结构生成代码

在您第二次执行上述任一操作时,只要 Rebuild 配置参数设置为 “If any changes detected”(默认值)或 “If any changes in known dependencies detected”,Simulink 就会只编译过期文件。由于要编译的文件更少,操作完成得更快。

注意

虽然您可以通过将 Rebuild 配置参数设置为 “Never” 来避免所有引用模型重新编译,但使用此设置可能会产生无效的仿真结果。

团队成员或连续集成系统可以为您使用的模型生成 Simulink 缓存文件。为了减少首次编译这些模型所需的时间,您可以将对应的 Simulink 缓存文件复制到 Simulation cache folder 预设项指定的本地文件夹中。Simulink 提取与磁盘上的内容不同的任何 Simulink 缓存文件内容。如果 Simulink 在磁盘上生成或更新编译工件,它会在本地更新对应的 Simulink 缓存文件。

您可以通过其 .slxc 扩展名来识别 Simulink 缓存文件。它的文件名与对应模型的名称相匹配。

检查 Simulink 缓存文件内容

Simulink 缓存文件可以包含多种类型的编译工件,包括:

  • Accelerator 目标

  • Rapid Accelerator 目标

  • 模型引用的仿真目标

  • 变量使用信息

  • 代码生成目标(Simulink Coder™、Embedded Coder®

  • 模型表示 (Simulink Design Verifier™)

Simulink 缓存文件可累积多个平台和 Simulink 版本的编译工件。

要了解特定 Simulink 缓存文件包含的内容,请双击该文件打开报告。

或者,要在 MATLAB® 表中获取 Simulink 缓存文件的内容,请使用 slxcinfo 函数。

您可以重用支持您正在使用的平台和版本的编译工件。例如,假设您使用 Windows® 计算机和 R2019a Simulink 版本。在本报告说明的 Simulink 缓存文件中,您可以使用 R2019a : win64 下的仿真目标。使用 Linux® 计算机和 R2019b 的团队成员可以使用 R2019b : glnxa64 下的仿真和代码生成目标以及 R2019b : all platforms 下的模型表示。

注意

如果您在 R2019b 中创建 Simulink 缓存文件,则无法在 R2019a 中使用该 Simulink 缓存文件。Simulink 缓存文件可以为创建该文件所用的版本和更高版本累积编译工件。

使用 Simulink 缓存文件

虽然大多数团队可以受益于使用 Simulink 缓存文件,但具有下列特征的开发环境最适合使用 Simulink 缓存文件。

  • 包含许多引用模型的模型层次结构。

  • 在 Accelerator 或 Rapid Accelerator 模式下仿真的顶层模型,在这种情况下,Simulink 会为顶层模型和所有引用模型生成一个仿真目标。

  • 整个开发团队使用一个标准化的平台、编译器和 Simulink 版本。

  • 您通过 Include directories 配置参数为整个开发团队指定了相对路径或一致的绝对路径。

  • 具有管理设计文件的源代码管理系统,如 Git™。请参阅设置 Git 源代码管理

    注意

    由于 Simulink 缓存文件是派生文件,因此您不应在源代码管理下管理它们。即使您通过将 Simulink 缓存文件存储在源代码管理系统中来共享它们,也无法对这些文件的不同版本进行区分或合并。

  • CI 系统,如 Jenkins™,它使用并行工作进程池定期编译模型层次结构的最新版本。

在此开发环境中,您要处理源代码管理系统中的文件,并编译存档。

要减少更新仿真目标所花费的时间,请按照以下步骤操作。

  1. 从源代码管理系统中获取所有设计文件的最新版本。

  2. 从编译存档中复制所有 Simulink 缓存文件的最新版本,并将其放在 Simulation cache folder 中。

  3. 打开顶层模型并对其进行仿真。

    Simulink 从 Simulink 缓存文件中提取所需的编译工件。只要模型自 CI 系统完成最近一次编译以来没有发生变化,那么无需重新编译任何模型就可完成仿真。

    注意

    要从 Simulink 缓存文件中解包仿真和代码生成目标,而不对模型层次结构进行更新、仿真或生成代码,请使用 slxcunpack 函数。

  4. 更改模型并再次仿真模型层次结构。

    Simulink 重新编译必要的模型,并更新对应 Simulink 缓存文件的本地副本。

  5. 将更新后的模型提交到源代码管理系统。您无法提交 Simulink 缓存文件,它是派生文件。

检查工程中的 Simulink 缓存文件

从顶层模型创建工程时,工程包含模型及其引用模型的关联 Simulink 缓存文件。

要查看模型层次结构中的 Simulink 缓存文件依存关系,您可以在对应工程的 Views 窗格中选择 Dependency Analyzer

如果工程中缺失任何 Simulink 缓存文件,依存关系分析会识别它们。

有关详细信息,请参阅What Is Dependency Analysis?

另请参阅

|

相关主题

外部网站