CANoe.DiVa从11版本开始,支持具有OBD功能的ECU在诊断功能验证阶段自动生成OBD故障码相关的测试用例,用于量产车评估测试(Production Vehicle evaluation,简称PVE),对于车辆最终验收至关重要。CANoe.DiVa在PVE阶段的应用使得开发人员能够较早地检验ECU通信是否和OBD-II/WWH-OBD协议法规保持一致,MIL故障灯是否正常点亮,从而避免后期故障排除时所需的高昂成本。
Figure 1: PVE tests as part of the ECU validation
测试范围
CANoe.DiVa所涵盖的OBD相关测试包含两个部分:
· 校验所支持的ID(PID/MID/TID/InfoType);
· 验证每个监视器的MIL警示灯是否正常亮起。
1 支持的ID校验
用户可以使用CANoe.DiVa自带的诊断数据库(OBD-II和WWH-OBD)或是带有ECU OBD相关内容的单独的诊断数据库文件(CDD/ODX)来生成相关测试。根据描述文件当中的信息对ECU的响应内容进行完整性校验。
2 故障及MIL灯的正确控制
CANoe.DiVa生成的测试会在六个驾驶周期当中检查监视器是否能够如期识别错误状态(Pending//confirm/ied/Permanent)并正确地控制MIL灯。
Figure 2: Typical sequence of a monitor test with CANoe.DiVa
OBD-Test配置
新建CANoe.DiVa工程的第一步是选择合适的诊断数据库文件作为输入源。如前所述,用户有两个选择:
· 与OBD-II协议或WWH-OBD协议相匹配、内置的诊断数据库文件(“Build-In OBD”或“Build-In WWHOBD”);
· 与被测ECU匹配的OBD诊断数据库文件。
Figure 3: Selection of diagnostic specification for OBD tests
工程新建后可以在“Test Configuration”配置界面选择需要测试的PID相关服务(见Figure 4):
Figure 4: Choice of the identifies to be tested
如果测试实际的OBD故障码,需要配合硬件在环设备(例如VT system)来仿真OBD事件触发条件或车辆条件(见Figure 5):
Figure 5: import VT configuration file
车辆条件指服务执行前的某些预置条件,例如:写入某个数据之前先判断当前发送机转速是否为零。车辆条件一般通过CANoe.DiVa的“System Conditions”设置。在创建测试工程时会发现软件当中已经存在一些默认的 System Conditions(Figure 6),它们往往通过用户交互界面来实现,其表现形式是当测试用例执行到相应的流程时停下等待用户执行正确的动作:
Figure 6: System conditions setting
接下来将System Conditions以及与硬件设备相关的I/O信号配置选择性地应用于某些测试环境(Figure 7):
Figure 7: Configuration of stimulation for OBD events
配置完成后生成CANoe.DiVa测试工程,能够看到与OBD相关的测试规范(Figure 8)和用例,通过测试规范可以了解每一条用例的测试逻辑:
Figure 8: CANoe.DiVa test specification
在CANoe软件中运行测试工程,可以得到测试报告(Figure 9),报告可以通过浏览器或CANoe.DiVa查看:
Figure 9: CANoe.DiVa test report
以上是CANoe.DiVa在OBD测试方面的应用。由于CANoe.DiVa支持将测试项置于集成测试环境当中自动运行(例如Jenkins),用户能够将其应用于回归测试。
小结
通过使用CANoe.DiVa内置的OBD数据库或者导入外部OBD数据库,可以自动生成OBD相关测试用例,覆盖OBD服务测试与OBD DTC测试,从而帮助测试人员削减成本并节省时间。
来源:Vector维克多