使用模型切片器在信号断点处追踪故障信号路径
当模型仿真在断点处暂停时,您可以使用模型切片器追踪故障信号路径的源头。模型切片器为每个断点创建一个隔离的调试环境,使您能够只专注于模型的相关部分。在调试过程中,您可以添加其他切入点来完善分析。要打开模型切片器,请打开断点列表并选择感兴趣的断点。当模型仿真在断点处暂停时,“使用切片器调试”按钮会从
变为
。有关详细信息,请参阅Breakpoints List。
使用断点列表中的模型切片器,您可以:
在调试过程中添加并跟踪多个信号断点。当您添加另一个断点时,模型切片器会创建一个与之前的模型切片器配置完全不同的独立模型切片器配置。
通过从断点列表中选择不同的断点,即可在之前调试的断点之间进行切换。这会自动将切片配置切换到您开始调试时已设置的先前断点。
通过从 Simulink® 画布中选择模块或信号来添加其他起始点。
使用上行、下行或双向箭头按钮切换信号的高亮方向。

注意
要从断点列表打开模型切片器,需要 Simulink Check™ 许可证。
使用模型切片器调试运行时错误
本示例展示了如何设置信号断点,并使用断点列表中的模型切片器来突出显示和调试模型中的运行时错误。该模型包含一个安全属性,其中包含一个断言模块,该断言块会导致仿真错误。在仿真中模型暂停时,您可以在信号上设置断点,并使用模型切片器调试错误。有关详细信息,请参阅Breakpoints List。
打开模型和运行仿真
打开模型 sldvexCruiseControlVerification。
open_system ("sldvexCruiseControlVerification")该模型包含一个名为 BrakeAssertion 的 Assertion 模块,该块会导致断言。

在 Simulink 工具栏的调试选项卡上,点击运行
以仿真模型。

BrakeAssertion 模块导致仿真终止并产生错误。
添加断点并运行仿真
设置一个断点,使 BrakeAssertion 模块的输入为 false:
1.选择 BrakeAssertion 模块的输入信号。
2.在调试选项卡的断点部分,点击添加断点。“添加断点”对话框打开。
3.在“添加断点”对话框中,选择一个条件和值,以便当输入信号等于零时,仿真暂停。从条件下拉列表中选择 ==,并将值指定为 0。点击确定。
输入信号 BrakeAssertion 的线路上会出现一个红色圆圈,表示该信号具有启用的断点。
为避免在调试仿真时出现断言错误,请注释掉 Assertion 模块 BrakeAssertion。
双击断言模块并清除断言失败时停止仿真。在调试选项卡中,点击运行以调试仿真。当增益模块的输出等于 0 时,模型暂停。

要打开断点列表,请在模型画布中点击断点,或在 Simulink® 工具栏的调试选项卡上,点击断点列表。断点列表通过“使用切片器调试”按钮
打开。

使用模型切片器进行调试
点击“使用切片器调试”按钮
打开模型切片器并从断点处突出显示。打开时,模型切片器会自动添加断点处的起始点和端口值标签。
Implies 模块允许您指定一个条件来生成给定的响应。例如,如果 A 是 true,B 是 false,A ==> B 是 false,则模型会在断点处暂停。当连续三个时间步施加制动输入时,Implies 模块中的条件 A ==> B 为 false。这导致节流阀回到零,并引发 BrakeAssertion 模块的断言。

利用高亮显示的信号,追溯输入 A 的来源。
1.右键点击 AND 模块,然后在模型切片器应用程序部分中,点击“添加为排除点”按钮
。这样一来,高亮显示和分析就仅限于您想要研究的模型部分。
2.进入控制器内部,追踪油门信号到其源头,即 PI Controller 模块。

3.将仿真步骤回溯到第一个时间步。请确保在开始仿真之前启用仿真中的回退功能。在调试选项卡上,点击后退三次,直到 T = 0.00。在仿真开始时,PI Controller 模块的输出是 0。

4.点击向前一步,将仿真推进到 T = 0.010。节流阀值更新为 0.02。继续前往 T = 0.020。PI Controller 模块保持其输出值为 0.02,并且高亮显示消失。
您可以启用控制依赖项,以查看在时间步长内 PI controller 是否已启用。仿真时未启用 PI Controller 模块 (0.20)。此外,请注意,PI Controller 输入端口 Active Control 的端口值标签显示为 false。
5.向前迈两步到 T = 0.040,而 PI Controller 的输入仍然是 false。

这表明 throt 输出配置为在禁用时保持其输出,这是导致信号行为异常的建模错误。
纳入修复方案
1.点击“关闭模型切片器”按钮
退出会话并停止仿真。
2.打开模型并转到 sldvexCruiseControlVerification/Design Model/Controller/PI Controller。点击 throt 输出以打开“模块参数”对话框。将禁用时的输出值设置为 reset。点击应用和 OK。
3.保存模型。运行仿真。请注意,仿真运行过程中没有任何警告。
考虑因素和局限性
在以下情况下支持从断点列表中使用模型切片器:
仿真以正常模式运行。
仿真在信号断点处暂停。
使用模型切片器从信号断点跟踪路径时,退出调试会话后路径不会被保留。