Main Content

将信号配置为测试点

什么是测试点?

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

指定为测试点的信号会在模型优化时被排除,这种模型优化包括信号存储重用(请参阅Signal storage reuse (Simulink Coder))和模块简化(请参阅将逻辑信号实现为布尔数据(而不是双精度数据))。这些优化会使信号呈现为不能访问,因此在仿真期间无法观测到这些信号。

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

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

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

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

  • 打开信号的信号属性对话框并选中记录和可访问性部分中的测试点

  • 使用模型数据编辑器进行批量配置,还可以配置大型模型或子系统层次结构中难以定位的信号。在信号选项卡上,将更改视图下拉列表设置为仪器,并使用测试点列。有关详细信息,请参阅模型数据编辑器

  • 要将 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 在启用了信号属性 > 测试点选项的每个信号上显示一个指示符。例如,在以下模型中信号 s2s3 是测试点:

注意

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

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

要打开或关闭测试点指示符的显示,请在 Simulink 编辑器中,在调试选项卡上,选择叠加信息 > 记录和测试点以启用或禁用该选项。

另请参阅

相关主题