比较和合并 System Composer 架构模型
本示例演示了如何使用 System Composer 比较工具 来比较两个 System Composer™ 架构模型。您可以在生成的对比报告中查看并合并 System Composer 架构模型的差异。
本示例演示了如何使用比较工具来:
比较并审查架构模型文件中的更改。
在 System Composer 编辑器中可视化并突出显示更改。
将比较结果导出,以便提交同行评审。
使用合并模式来移植或还原不同架构模型中的更改。
本例中的模型展示了一种移动机器人的硬件架构。有关该模型的详细信息,请参阅使用架构模型构建和分析系统。
比较架构模型
一位同事对架构模型 scMobileRobotHardwareArchitecture 进行了修改,并将修改后的模型保存为 scMobileRobotHardwareArchitectureEdited。要比较架构模型文件,请在“文件”面板中选中这两个文件。右键点击任一文件并选择比较选定的文件/文件夹。
或者,使用 visdiff 函数来比较 scMobileRobotHardwareArchitecture 和 scMobileRobotHardwareArchitectureEdited 模型。
visdiff('scMobileRobotHardwareArchitecture','scMobileRobotHardwareArchitectureEdited');
查看比较结果
比较工具生成的报告仅包含两个架构模型之间的差异,而不包含完整的模型层次结构。
该报告将修改后的项目标记为紫色,插入的项目标记为蓝色,删除的项目标记为黄色。

逐步比较差异
要逐一查看报告中的差异,请使用比较选项卡上的下一页和上一页导航按钮:
该报告逐一详细介绍了这些变化。如果左侧树中选中的项目有匹配项,则该项目在右侧树中也会被选中。
MATLAB® 在报告旁边同时显示这两个模型。如果可能的话,该报告会同时在两个 System Composer 架构模型中突出显示所选项目。
要控制模型中的高亮显示,请在比较选项卡的高亮显示部分,选中或取消选中始终高亮显示复选框。您可以随时点击立即突出显示按钮,以突出显示当前选中的报表节点。
若要进一步了解具体变更内容,您可以在对比报告中选中一行。该工具会在报告底部的窗格中显示详细信息。当您点击比较报告中的每一行时,右侧相应的开放架构模型会被高亮显示。
比较结构差异
System Composer 对比报告中的架构部分包含了组件、端口和连接器的变更内容。本节还包括组件类型、端口类型以及添加到端口的任何专属接口的更改。比较报告显示:
向
Power Supply Board组件添加了一个名为Temperature Control的新物理端口,并连接到Battery Pack组件转换为 Stateflow® 图组件的
Controller组件一个名为
Wheel Stud的新端口从Wheels组件连接到Mobile Robot Case组件。将
Target Machine组件上的端口从Commands重命名为Command。一个新的专属接口,包含元素
Signal和Message,由输出端口Command所有。

比较接口差异
System Composer 对比报告中的接口部分包含了模型本地存储的接口所做的更改。比较报告显示:
三个新值类型接口:
RedPhase、GreenPhase和BluePhase一个新的
Colors数据接口,包含三个数据元素:R、G和B。一个名为
ThermalMeasure的新物理接口,带有物理元素Heat。

提示:将接口定义和其他模型数据保存到 Simulink® 数据字典中时,应使用“比较工具”来比较和合并 Simulink 数据字典中的架构数据。
比较视图差异
System Composer 比较报告中的架构视图部分列出了新增或删除的架构视图,并显示了在 Component Diagram、Component Hierarchy 或 Architecture Hierarchy 之间视图模式是否发生了变化。比较报告显示:
新的
BatteryPack视图及其显示的组件:Power Supply Board、Battery Pack和Charge Board由于将组件
Battery重命名为Battery Pack,现有视图Life Expectancy和Mobile Robot发生了变化。

导出、打印和保存架构模型比较结果
您可以将架构模型比较结果保存为报告或工作区变量。
若要将比较结果保存到报告中,请在比较选项卡上点击发布,然后选择报告格式:HTML、Word、PDF 或 PDF/A。Linux® 不支持 PDF/A 比较报告。
合并架构模型中的更改
在比较报告中,您可以使用合并模式,通过双向合并将更改在架构模型之间进行迁移。
要移植架构模型中的更改:
在比较选项卡上,点击合并模式。比较工具会展开第一个更改,并在报告底部打开一个 Target 窗格。此操作还会生成第三个文件
targetFile,该文件可能包含左侧模型 (scMobileRobotHardwareArchitecture) 或右侧模型 (scMobileRobotHardwareArchitectureEdited) 的更改内容。使用 Target 树中的按钮,选择要在目标文件中保留的差异。
点击下一步跳转到下一处差异。

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