主要内容

比较和合并包含状态流的Simulink模型

这个例子展示了如何使用MATLAB®中的比较报告来理解两个不同设计之间的变化。它展示了如何使用比较报告查看和合并包含Stateflow®的两个Simulink®模型之间的更改。运行此示例需要Stateflow许可证。

比较模型

创建示例文件的工作副本。MATLAB®将文件复制到一个示例文件夹中,以便您可以编辑它们。

slcomparisons.examples.stateflowMerge;

用户添加了一个新的下弯模式的shift_logic.您可以使用Simulink Model Comparison来比较两个模型,并生成一个报告来探索和合并差异。

使用visdiff比较sl_sfcar_1而且sl_sfcar_2模型。

visdiff (“sl_sfcar_1”“sl_sfcar_2”);

理解结果

比较工具显示的报告只包括两个模型之间的差异,而不是完整的模型层次结构。

颜色表示项目是否被修改(紫色)、插入(蓝色)或删除(黄色)。

步进通过差异

使用下一个而且以前的上的导航按钮比较选项卡来逐级查看报告中的更改组:

  • 报告逐一介绍了这些变化。中选中的项树有了匹配,它也会被选中正确的树。

  • MATLAB在报告旁边显示两个模型。如果可能的话,报告突出显示了两个Simulink模型中所选的项目。

突出Simulink模型的差异

选择树节点着干活正确的树。浏览报告重点着干活,以及模型中相应的块sl_sfcar_2

控制模型的高亮显示比较选项卡,突出部分时,选中或清除复选框总是强调.你可以按强调现在按钮,可随时突出显示当前选定的报表节点。

在状态流图中突出显示差异

向下浏览树以定位报告中的状态流图。控件旁边的状态流图图标shift_logic节点。点击下弯正确的树。报告显示了这两种情况shift_logicStateflow图表。观察新的下弯功能已添加到其中一个图表中。

筛选结果

您可以通过应用筛选器来控制比较报告中显示的更改的类型。控件上查看可用的筛选器以及它们是否应用于当前报表比较选项卡,过滤器部分,单击向下箭头以展开筛选器图库。单击筛选器名称以切换是否应用它们。在过滤器部分中,点击显示隐藏控制过滤器的应用方式。

例如,Simulink模型文件中的一些信息被定义为非功能性的。这些更改不太可能改变设计的行为。默认情况下,非功能项是隐藏的。可以通过取消选择来显示非功能的变化按钮时隐藏选中“过滤”按钮。

合并包含状态流的模型中的更改

,您可以合并两个Simulink和Stateflow模型之间的更改合并模式工具条中的按钮。这将创建第三个文件,targetFile,它可以包含来自左模型或右模型的更改。中的按钮目标树选择的差异要保持在targetFile

单击保存文件按钮以保存您在正确的模型上选择的更改(sl_sfcar_2).

提示:在合并行之前合并块,在合并过渡之前合并状态和连接。看到合并技巧

另请参阅

visdiff

进一步的信息

比较模型的模型

比较具有相同名称的模型

相关的例子

比较和合并Simulink模型

用Simulink三方合并解决冲突

Baidu
map