Main Content

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

创作测试序列和测试评估

此示例显示如何使用 Test Sequence模块和 Test Assessment模块为变速器换档逻辑控制器创建测试框架。Test Sequence 模块改变输入到控制器的速度,而 Test Assessment 模块验证速度是否适合齿轮位置。有关更多信息,请参阅 测试序列基础知识

创建测试序列

1.打开模型。

open_system('TransmissionDownshiftTestSequence')

Model_og.png

2.右键单击 shift_controller 子系统并选择测试框架 > 为 ‘shift_controller’ 创建

3.在“创建测试框架”对话框中的信源和信宿下:

  • 将源下拉菜单设置为 Test Sequence

  • 选择添加单独的 Test Assessment 模块

  • 选择创建后打开框架

有关更多信息,请参阅 创建测试框架

harness_dialog.png

4.点击确定shift_controller 子系统的测试框架打开。

testharness_flow.png

5.双击 Test Sequence 模块。测试序列编辑器 打开。

testSequenceEditor.png

6.将第一步的名称从 Run 更改为 Accelerate,并添加指定初始节气门设置和速度如何增加的步骤操作:

speed = 10*ramp(et);

throttle = 100;

ramp 函数返回斜率为 1 的斜坡信号在时间 et 时的值,即该步骤的经过时间。对于此示例,步骤开始后的特定时间的速度是当时斜坡值的 10 倍。查看 测试序列编辑器 以了解更多信息。

7.右键单击 Accelerate 步骤并选择在后面添加步骤。将此步骤名称由 step_1 改为 Stop,并添加当节气门和速度等于 0: 时停止测试的步骤动作

throttle = 0;

speed = 0;

8.在符号窗格中,指向常量并点击添加数据按钮 addVariableData_16.png。输入 Limit 作为常量名称,然后点击添加数据

9.指向 Limit 并点击编辑按钮 editicon.png。在常量字段中,输入 2。点击确定

defineLimit.png

10.右键点击第一步中的转移列,选择添加转移。输入 Accelerate 步骤的转移条件。在此示例中,当系统处于四档至少两秒时,Accelerate 会转移为 Stop。在 转移 列中,输入:

duration(gear == 4) >= Limit

11.在下一步列中,选择 Stop.

testSequenceEditorFilled.png

12.保存更改并关闭测试序列编辑器。

创建测试评估

接下来,向Test Assessment模块添加验证。

1.双击 Test Assessment 模块以打开编辑器。编辑器在步骤列中显示默认的 When 分解序列。有关更多信息,请参阅 使用 When 分解评估模型

TestAssessmentEditor.png

2.将第一步的名称从 Run 更改为 Assessments

3.右键单击 Assessments 步骤并选择添加子步骤。重复此步骤添加另一个子步骤,因此总共有四个子步骤。

4.更改名称并添加四个子步骤的操作,如图所示。第四步 else 处理前面 when 条件之外的仿真条件。在此步骤中,您无需指定任何操作。

TestAssessmentEditorFilled.png

5.保存更改并关闭测试序列编辑器。

6.在测试框架中,添加一个 Scope 模块并将 speedthrottlegear 信号连接到示波器,如图所示。

Harness_w_scp[e.png

7.打开 Scope 模块。在视图 > 布局中,选择三列、一行的布局。

8.在 Simulink 模型中的仿真选项卡中,将停止时间设置为 15,然后点击运行。查看 Scope 模块中的信号数据。速度图显示速度如何增加到最大值 105。节气门图显示,在整个测试过程中节气门值保持在 100。齿轮图显示齿轮以适当的速度换到下一个更高的齿轮。档位等于 4 并持续 2 秒后,速度和节气门归零,档位降低。

scope.png

9.在仿真数据检查器中查看 verify 语句的结果。

  • 在 Simulink 模型中的 仿真选项卡中,点击Data Inspector

  • 单击可视化和布局按钮 VisualizationAndLayoutIcon.png,然后在网格下,将设置为 3,将设置为 1

  • 选择一个图,然后从左侧窗格中选择一个评估。对每个其他地模块和评估重复上述操作。

DataInspector.png

当模型运行时,Test Assessment 模块会验证每个齿轮位置的速度是否在正确的范围内。通过表示速度在正确的范围内。每个 verify 语句都针对特定的档位,因此当控制器处于与被测试档位不同的档位时,速度是未经测试的。Check1st 测试评估有两个通过区域,因为在测试序列的第二步中齿轮位置回到第一位。

另请参阅

|

相关主题