测试变速箱控制器的降档点
此示例演示了如何使用测试序列和测试评估来测试变速器换档逻辑控制器。
模型和控制器
此示例使用 TransmissionDownshiftTestSequence
模型,这是一个以控制器-工厂配置排列的简化的动力传动系统。目标是对传动控制器的降档行为进行单元测试。
考试
控制器应响应增加节气门应用来在齿轮比之间降档。测试输入在加大节气门的同时保持车速恒定。Test Assessment 模块包括基于需求的控制器性能评估。
打开测试框架
单击子系统 shift_controller
上的徽章并打开测试框架 controller_harness
。测试框架包含一个连接到控制器子系统的 Test Sequence 模块和一个 Test Assessment 模块。
测试序列
双击 Test Sequence 模块以打开测试序列编辑器。
测试序列将速度提升至 75,以在四档下初始化控制器。然后油门以恒定速度加速直至换档。随后执行初始化和降档。换至一档后,测试序列停止。
控制器的测试评估
此示例测试以下条件:
速度值应大于或等于 0。
齿轮值应大于 0。
节流阀值应介于 0 至 100 之间。
换档控制器应将前三个档位的车速保持在规定的最高限速以下。
打开 Test Assessment 模块。assert
语句对应前三个条件。如果控制器违反断言,则仿真失败。
assert(speed >= 0, 'speed must be >= 0'); assert(throttle >= 0, 'throttle must be >= 0 and <= 100'); assert(throttle <= 100, 'throttle must be >= 0 and <= 100'); assert(gear > 0,'gear must be > 0');
最后一个条件由三个 verify
语句检查,分别对应档位 3、2 和 1 的最大速度:
车速在 3 档时不得超过 90。
2 档时车速不得超过 50。
1 档时车速不得超过 30。
当分解序列包含 verify
语句时。在分解序列中,信号条件决定活动步骤。步骤包括一个以 when
运算符开头的条件。最后一步 Else
涵盖未定义的条件,并且不使用 when
语句。有关何时分解的更多信息,请参阅测试序列基础知识 中的“转移类型”。
OverSpeed3 when gear==3 verify(speed <= 90,'Engine overspeed in gear 3')
OverSpeed2 when gear==2 verify(speed <= 50,'Engine overspeed in gear 2')
OverSpeed1 when gear==1 verify(speed <= 30,'Engine overspeed in gear 1')
测试控制器
仿真测试框架演示了每个测试步骤中的渐进式节气门斜坡和相应的降档。控制器通过了 Test Assessment 模块中的所有评估。
查看结果
单击测试框架条中的“仿真数据检查器”按钮来查看结果。您可以将 speed
信号与 verify
语句输出进行比较。