比较动态仿真模块模型
导航动态仿真模块模型比较报告
您可以比较来自任何版本的Simulink的模型®.比较工具会根据SLX文件生成一个比较报告,如果有必要,会在当前版本中重新保存。使用该报告来探索差异,查看原始模型中突出显示的更改,并合并差异。
比较报告只显示更改,而不是整个文件内容。该报告显示了文件中不同部分的层次视图,而没有显示文件中相同的部分。要了解该报告,请参见关于Simulink模型比较.
来单步调试的差异,在比较选项卡,导航部分中,点击下一个或以前的.看到通过改变步.
您也可以单击,选择层次树中的项目,观察以下显示特征:
选中的项目将在框中高亮显示。
如果选择的项目是匹配对的一部分,它会在左树和右树的一个框中突出显示。
当您选择一个项目时,将显示原始模型并突出显示相应的项目。看到探索原始模型中的更改.
报告项目高亮显示每个差异的性质如下:
报告项目的类型 | 高亮显示 | 笔记 |
---|---|---|
修改 | 紫色的 | 修改项是两个文件之间不同的匹配对。当您选择一个修改项时,它会在两个树中的一个框中突出显示。 |
插入 | 蓝色的 | 当您选择一个不匹配的项目时,它只在一个树的框中突出显示。 |
删除 | 黄色的 | |
容器 | 没有一个 | 没有高亮显示的行表示容器项包含其他修改或不匹配的项。 |
图标表示项目的类别,例如:模型、子系统、状态流®机器或图表、块、线、参数等。
要展开或过滤树视图,请使用工具条实现以下功能:
过滤器-使用过滤器只显示你感兴趣的变化。默认情况下,报告隐藏了所有非功能性的更改,比如项的重新定位。关闭滤镜进行探索所有差异包括非功能性的变化。看到过滤比较报告.
找到—打开“查找”对话框,您可以在其中搜索项目。
如果你想交换文件,在比较选项卡上,选择交换.该报告交换了双方,并重新进行了比较。刷新也再运行分析。
要创建新报告,请参见选择Simulink模型进行比较.
有关带有说明的示例,请参见模型比较的例子.
通过改变步
在比较选项卡,导航部分,当您单击下一个箭头键(或者当报表有焦点时按下向下键),您将按以下顺序逐步遍历报表中的更改组:
第一次点击下一个,它选择第一个更改的(紫色)或插入的(蓝色)节点。
步骤通过差异下一个按钮。
当选中的项目在右树中有匹配时,它们也会被高亮显示。
Next跳过没有颜色背景的白色节点,如果它们下面没有参数更改。白色节点是层次结构中不包含差异的部分。
如果对子节点进行插入或删除,下一个如果子节点也是插入或删除,则跳过它们。例如,如果你插入一个子系统,下一个选择顶层子系统节点,然后跳过子系统内的所有节点(如果它们都是插入)并选择下一个差异。
下一个在模型中高亮显示时最小化上下文切换。当你点击下一个,在移动到报告的下一个级别之前,报告在报告的左树和右树中逐步遍历模型、子系统或图表的同一级别上的所有差异。例如,在转移到另一个子系统之前,您将逐步检查左树和右树中一个子系统的所有差异。
当你经历了所有的变化,下一个最后停了下来。
如果单击报表中的一个项目,则下一个/以前的控件将从您所选择的点逐级执行更改。
探索原始模型中的更改
当您比较Simulink模型时,您可以在选择报表项时选择在原始模型中显示相应的项。您可以使用这个突出显示功能来查看原始模型中的更改。当您选择一个项目时,报告将突出显示模型中相应的项目。
控件控制显示强调现在按钮,总是强调复选框。
有关详细信息,请参见显示原始模型的差异.
合并差异
要合并,就要比较选项卡上,单击合并模式.Target窗格出现在报表的底部。使用按钮选择要保留在目标中的差异。有关更多信息,请参见合并比较报告中的Simulink模型.
打开选定节点的子比较报告
如果可以对特定参数进行额外的比较,则可以看到比较按钮以打开该对节点的报告。例如,如果模型工作区中存在差异,您可以单击比较打开一个新的报告来探索变量的差异。
当报告不能显示所有细节(例如长字符串或脚本)时,您可以为参数打开一个新的比较。
如果原始模型包含MATLAB函数块组件,如果发现差异,单击比较按钮,在比较工具中打开新的比较,显示MATLAB函数块组件的文本差异报告。您可以合并差异在MATLAB函数块代码从文本比较报告。看到合并比较报告中的Simulink模型.
如果原始模型包含真值表,如果发现差异:
单击比较按钮,查看所有更改的摘要。
单击truthtable节点反向注释并显示两个真值表编辑器。
单击比较按钮打开一个新的文本比较,只显示条件表的差异。
同样点击比较按钮动作表只查看动作更改。
了解报表层次结构和匹配
请注意
分析可能无法检测到分离过多的文件先前对应部分之间的匹配。
如果您无法在报告中看到预期的更改,请关闭筛选并查看所有确认更改。看到过滤比较报告.
过滤比较报告
您可以定义自定义过滤器,以简化报表并将重点放在指定的元素上。您可以导入和导出过滤器进行共享。使用内置过滤器来控制更改类别的显示。关闭筛选以查看所有识别的更改。
控件上查看可用的筛选器,以及它们是否应用于当前报表比较选项卡,过滤器部分,单击向下箭头以展开筛选器图库。单击筛选器名称以切换是否应用它们。在过滤器部分中,点击显示将选定的筛选器更改包含在报表或隐藏从报表中排除所选筛选器更改。
使用过滤器只包含您感兴趣的更改。默认情况下,报告隐藏所有非功能性更改。这些更改对设计行为没有影响,比如项目的重新定位。关闭筛选器以探索所有差异,包括非功能性更改。如果无法在报告中看到预期的更改,请尝试此操作。
内置过滤器包括:
行.选择信号线的所有更改,包括功能更改。
非功能的变化.报告将模型文件中的某些项标识为非功能性的,例如,表示诸如块、系统、图表或标签位置等参数的项;块和线的字体和颜色设置;以及系统打印和显示设置。
阻止违约.当添加或删除块时,块默认值很少更改,会导致更长的报告。当您隐藏块默认值时,报表通常会更简单。
要显示所有更改,请使用以下方法之一:
不隐藏任何东西-点击隐藏并禁用图库中的所有过滤器。
显示一切-创建一个自定义过滤器。在“新建筛选器”对话框中,删除第一列的内容,使其显示出来
任何
,然后去掉下面一行的其余部分参数名称.点击显示并启用图库中的“所有”过滤器。
定义一个新的自定义过滤器:
在比较选项卡,过滤器部分中,点击新过滤器.
在“新建筛选器”对话框中,为新筛选器定义一条或多条规则。例如,您可以选择特定类型或值的参数或块。建议的值取决于比较报告中的项目。为筛选器指定唯一名称并单击应用.
若要检查您的筛选器是否应用于预期的项目,请只启用筛选器图库中的新筛选器,然后单击显示.这通常比检查过滤器是否隐藏了您希望在报告中看到的更改更容易。
观察这些自定义过滤器是如何定义的。
目的 | 选择列 | 参数名称 | 参数值 |
---|---|---|---|
过滤掉注释更改 | 注释 |
单击减号按钮以清除该行。 | 留下空白 |
过滤掉轮廓尺寸而且外港块的变化 | 块 |
BlockType |
轮廓尺寸 |
单击,增加一行添加规则,然后选择块 |
BlockType |
外港 |
|
过滤出样本时间参数的变化 | 参数 |
SampleTime |
任何 |
注释的变化:
轮廓尺寸而且外港块的变化:
样本时间参数变化:
异常
这份报告并不将对块和系统名称、注释和状态流注释的更改过滤为非功能性的,即使对这些项的更改不会影响模拟的结果。报告总是显示这些更改,以方便对代码更改的审查,因为它们可以包含关于用户意图的重要信息。
在极少数情况下,报告会过滤掉可能影响设计行为的更改。默认情况下,移动被过滤为非功能性的,但在这些情况下,移动可以改变设计行为:
移动块在某些情况下会改变执行顺序。
在状态流图中,如果移动状态或连接使其相交,则模型将无法进行模拟。
要在报告中查看这些类型的更改,请关闭非功能性更改的筛选器。
改变颜色的偏好
您可以更改和保存比较工具的不同颜色首选项。您可以将您的颜色首选项应用于所有比较类型。
在MATLAB®家选项卡上,单击首选项.
在Preferences对话框中,单击MATLAB,点击比较.
根据需要编辑颜色设置以进行差异和合并。查看颜色样本窗格。
的活动设置列表显示默认(修改).
若要在比较中使用修改后的设置,请单击应用并刷新比较报告。
若要返回默认颜色设置,请在“首选项”对话框中单击重置并点击应用.刷新比较报告。
如果您想保存修改后的颜色首选项以便在将来的MATLAB会话中使用,请单击另存为.为您的颜色设置配置文件输入一个名称并单击好吧.
保存设置后,可以在活动设置列表。
保存比较结果
要保存比较结果,请使用这些比较选项卡按钮:
方法将比较报告发布到文件中visdiff
函数。
模型比较的例子
有关带有说明的例子,请参见:
限制
MATLAB在线™不支持发布比较报告、合并或创建自定义过滤器等功能。在MATLAB在线,模型比较不支持状态流和测试工具比较。