主要内容

本页采用了机器翻译。点击此处可查看英文原文。

比较和合并 System Composer 架构模型

自 R2022a 起

本示例演示了如何使用 System Composer 比较工具 来比较两个 System Composer™ 架构模型。您可以在生成的对比报告中查看并合并 System Composer 架构模型的差异。

本示例演示了如何使用比较工具来:

  • 比较并审查架构模型文件中的更改。

  • 在 System Composer 编辑器中可视化并突出显示更改。

  • 将比较结果导出,以便提交同行评审。

  • 使用合并模式来移植或还原不同架构模型中的更改。

本例中的模型展示了一种移动机器人的硬件架构。有关该模型的详细信息,请参阅使用架构模型构建和分析系统

比较架构模型

一位同事对架构模型 scMobileRobotHardwareArchitecture 进行了修改,并将修改后的模型保存为 scMobileRobotHardwareArchitectureEdited。要比较架构模型文件,请在“文件”面板中选中这两个文件。右键点击任一文件并选择比较选定的文件/文件夹

或者,使用 visdiff 函数来比较 scMobileRobotHardwareArchitecturescMobileRobotHardwareArchitectureEdited 模型。

visdiff('scMobileRobotHardwareArchitecture','scMobileRobotHardwareArchitectureEdited');

查看比较结果

比较工具生成的报告仅包含两个架构模型之间的差异,而不包含完整的模型层次结构。

该报告将修改后的项目标记为紫色,插入的项目标记为蓝色,删除的项目标记为黄色。

A comparison report is on the left and the compared architecture models are opened on the right.

逐步比较差异

要逐一查看报告中的差异,请使用比较选项卡上的下一页上一页导航按钮:

  • 该报告逐一详细介绍了这些变化。如果左侧树中选中的项目有匹配项,则该项目在右侧树中也会被选中。

  • MATLAB® 在报告旁边同时显示这两个模型。如果可能的话,该报告会同时在两个 System Composer 架构模型中突出显示所选项目。

要控制模型中的高亮显示,请在比较选项卡的高亮显示部分,选中或取消选中始终高亮显示复选框。您可以随时点击立即突出显示按钮,以突出显示当前选中的报表节点。

若要进一步了解具体变更内容,您可以在对比报告中选中一行。该工具会在报告底部的窗格中显示详细信息。当您点击比较报告中的每一行时,右侧相应的开放架构模型会被高亮显示。

比较结构差异

System Composer 对比报告中的架构部分包含了组件、端口和连接器的变更内容。本节还包括组件类型、端口类型以及添加到端口的任何专属接口的更改。比较报告显示:

  • Power Supply Board 组件添加了一个名为 Temperature Control 的新物理端口,并连接到 Battery Pack 组件

  • 转换为 Stateflow® 图组件的 Controller 组件

  • 一个名为 Wheel Stud 的新端口从 Wheels 组件连接到 Mobile Robot Case 组件。

  • Target Machine 组件上的端口从 Commands 重命名为 Command

  • 一个新的专属接口,包含元素 SignalMessage,由输出端口 Command 所有。

A left and right comparison report for structural changes.

比较接口差异

System Composer 对比报告中的接口部分包含了模型本地存储的接口所做的更改。比较报告显示:

  • 三个新值类型接口:RedPhaseGreenPhaseBluePhase

  • 一个新的 Colors 数据接口,包含三个数据元素:RGB

  • 一个名为 ThermalMeasure 的新物理接口,带有物理元素 Heat

A left and right comparison report for interface changes.

提示:将接口定义和其他模型数据保存到 Simulink® 数据字典中时,应使用“比较工具”来比较和合并 Simulink 数据字典中的架构数据。

比较视图差异

System Composer 比较报告中的架构视图部分列出了新增或删除的架构视图,并显示了在 Component DiagramComponent HierarchyArchitecture Hierarchy 之间视图模式是否发生了变化。比较报告显示:

  • 新的 BatteryPack 视图及其显示的组件:Power Supply BoardBattery PackCharge Board

  • 由于将组件 Battery 重命名为 Battery Pack,现有视图 Life ExpectancyMobile Robot 发生了变化。

A eft and right comparison report for view changes.

导出、打印和保存架构模型比较结果

您可以将架构模型比较结果保存为报告或工作区变量。

若要将比较结果保存到报告中,请在比较选项卡上点击发布,然后选择报告格式:HTMLWordPDFPDF/A。Linux® 不支持 PDF/A 比较报告。

合并架构模型中的更改

在比较报告中,您可以使用合并模式,通过双向合并将更改在架构模型之间进行迁移。

要移植架构模型中的更改:

  1. 比较选项卡上,点击合并模式。比较工具会展开第一个更改,并在报告底部打开一个 Target 窗格。此操作还会生成第三个文件 targetFile,该文件可能包含左侧模型 (scMobileRobotHardwareArchitecture) 或右侧模型 (scMobileRobotHardwareArchitectureEdited) 的更改内容。

  2. 使用 Target 树中的按钮,选择要在目标文件中保留的差异。

  3. 点击下一步跳转到下一处差异。

The two-way merge tool is open with the comparison report of two architecture models and the Target pane open.

完成合并更改后,请点击保存结果按钮,将您的选择保存到临时文件 targetFile 中。若要取消所有操作,请在不保存文件的情况下点击返回比较。在 System Composer 编辑器中查看您的修改。

另请参阅

函数

工具

另请参阅

主题