Main Content

本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

将信号配置为测试点

什么是测试点?

测试点是指在模型中使用 Floating Scope 模块时,Simulink® 保证能够观测到的一种信号。Simulink 允许您将模型中的任何信号指定为测试点。

指定为测试点的信号会在模型优化时被排除,这种模型优化包括信号存储重用(请参阅Signal storage reuse (Simulink Coder))和模块约简(请参阅Implement logic signals as Boolean data (vs. double))。这些优化会使信号呈现为不能访问,因此在仿真期间无法观测到这些信号。

指定为测试点的信号不会使代数环最小化,即使 Minimize algebraic loop occurrences 处于选中状态也是如此(有关代数环的详细信息,请参阅代数环概念)。

测试点的主要应用场合是使用 Simulink Coder™ 基于模型生成代码时。有关在代码生成上下文中使用测试点的详细信息,请参阅生成的代码中测试点的外观 (Simulink Coder)

将信号标记为测试点对使用 Dataset 日志记录格式的信号日志记录不产生任何影响。有关信号日志记录的信息,请参阅使用信号记录导出信号数据

使用以下方法之一将信号指定为测试点:

  • 打开信号的 Signal Properties 对话框并选中 Logging and accessibility 部分中的 Test Point

  • 使用 Model Data Editor 进行批量配置,还可以配置大型模型或子系统层次结构中难以定位的信号。在 Signals 选项卡上,将 Change View 下拉列表设置为 “Instrumentation”,并使用 Test point 列。有关 Model Data Editor 的信息,请参阅使用 Model Data Editor 配置数据属性

  • 要将 Stateflow® 图中的数据配置为测试点,请参阅Monitor Test Points in Stateflow Charts (Stateflow)

要以编程方式将信号配置为测试点,请执行以下操作:

  1. 获取模块端口的句柄。

    portHandles = get_param('myModel/myBlock','portHandles');

    portHandles 是一个结构体。每个字段存储一个模块端口的句柄。

  2. 提取创建目标信号线的输出端口的句柄。

    outportHandle = portHandles.Outport;

  3. 将端口参数 TestPoint 设置为 'on'

    set_param(outportHandle,'TestPoint','on')

显示测试点指示符

默认情况下,Simulink 在启用了 Signal Properties > Test point 选项的每个信号上显示一个指示符。例如,在以下模型中信号 s2s3 是测试点:

注意

Simulink 不会在通过 Simulink.Signal 对象指定为测试点的信号上显示指示符,因为这样的指定对于图形化模型来说是外部指定。

还可以对作为测试点的信号进行日志记录。有关信号日志记录的信息,请参阅使用信号记录导出信号数据。指示符的外观会发生变化以指示还为其启用了日志记录的信号。

要打开或关闭测试点指示符的显示,请在 Simulink Editor 中,在 Debug 选项卡上,选择 Information Overlays > Log & Testpoint 以启用或禁用该选项。

相关示例

详细信息