Main Content

本页采用了机器翻译。点击此处可查看英文原文。

测试集成代码

测试集成的 C 代码

如果您有一个将 C 代码与 C Caller 模块集成的模型,则可以使用测试管理器和测试框架来测试 C 代码。

C Caller 模块使用配置参数来定义自定义代码。如果更改配置参数,请同步测试框架和模型之间的参数。有关更多信息,请参阅 同步测试框架和模型之间的更改创建或导入测试框架并选择属性

  • 如果您更改测试框架配置参数,则可以将配置集推送至主模型。单击推送更改,或使用 sltest.harness.push

  • 如果您在主模型中更改了主模型配置参数,并且想要更新测试框架参数,则测试框架必须在重建时复制配置参数。您可以通过两种方式设置此属性:

    • 创建测试框架时,选择重构时更新配置参数和模型工作区数据。您还可以选择打开时重新构建框架,它会在每次框架打开时重建。

    • 对于现有的测试框架,框架预览中,选择 重新构建框架 > 打开时重新构建框架、或重新构建框架而不编译主模型更新框架配置设置和模型工作区中的一个或多个。每次重建时,更新框架配置设置和模型工作区选项都会更新设置。

在 S-Function 模块中测试代码

此示例显示如何使用测试框架测试 S-Function 模块中的代码。本示例的主要模型是空调/热泵机组的控制器工厂模型。

请注意,他的示例仅适用于 64 位 Windows 平台。

S-Function 是用 MATLAB、C、C++ 或 Fortran 编写的 Simulink 模块的计算机语言描述。您可以使用测试框架来测试包裹在 S-Function 中的代码。在 S-Function 中测试代码有助于对遗留代码进行回归测试以及在系统环境中测试您的代码。

打开模型

sltestHeatpumpSfunExample

Heat pump model that contains an S function

在示例模型中:

  • 控制器是一个接受室温和指定温度输入的 S-Function。

  • 控制器输出是一条带有信号总线,可以控制风扇、热泵以及热泵的方向(加热或冷却)。

  • 该工厂接受控制总线。热泵和风扇信号是布尔值,热泵方向以+1 表示冷却、-1 表示加热来指定。

温度条件状态

测试涵盖四种温度条件。每种条件对应一个运行状态,具有风扇、泵和泵方向信号输出。

Conditions and system states, fan commands, pump commands, and pump directions

创建测试用例

1.在应用选项卡上的模型验证、确认和测试下,点击 Simulink Test。然后,在测试选项卡上,点击 Simulink Test 管理器

2.在测试管理器工具栏中,点击新建>测试文件来创建测试文件。命名并保存测试文件。

3.在测试用例中,在在测系统下,点击 button_use_current_model.png 按钮,将当前模型加载到测试用例中。

创建测试框架

1.在模型中,右键单击 Controller_sfcn 子系统并选择测试框架 > 为 'Controller_sfcn' 创建

2.设置框架属性。在基本属性选项卡中,设置测试框架属性。将 Name 设置为 test_harness_1,并将 SourcesSinks 设置为 NoneScope

3.单击“确定”创建测试框架。

4.在测试管理器中突出显示新测试用例 1。在在测系统中,展开测试框架。刷新测试框架列表并为 Harness 选择 test_harness_1

添加输入并设置仿真参数

在测试框架中创建输入,其中包含常数 Tset 和随时间变化的 Troom_in

1.在测试框架模型中,将 Constant 模块连接到 Tset 输入并将值设置为 75

2.框架模型中添加一个 Sine Wave 模块来仿真温度信号。将 Sine Wave 模块连接到转换子系统输入 Troom_in

3.双击 Sine Wave 模块并设置参数:

List of parameters and values

选择将矢量参数解释为一维。然后点击确定

最终得到的框架为:

Heat pump test harness

4.在仿真工具条中,将停止时间设置为 3600

获取基线数据

1.在测试管理器测试用例的仿真输出中,点击添加。突出显示控制器 S-Function 的输出总线。

harness.png

2.在连接弹出窗口中,选择 Controller_sfcn:1(all) 并点击 Click to update diagram。然后,返回测试管理器并点击对话框中的完成

3.在基线准则下,点击捕获以记录仿真测试框架的基线数据集。在捕获基线对话框中,输入 sfcn_baseline 作为 MAT 格式文件名称,然后点击捕获。基线信号出现在表中。

Logged signals and baseline criteria tables

运行测试用例并查看结果

1.运行测试用例。测试结果显示在结果和工件窗格中。

2.展开结果以查看基线准则结果。基线测试通过,因为仿真输出与基线数据相同。

Plots of baseline criteria and simulation output, and plot of the difference between them

另请参阅

相关主题