用于测试诊断仪或网关测试的ECU基础诊断仿真

CANoe快速提示

Know How
汽车
航空
铁路
农业
工业
CANoe
测试、验证和诊断

CANoe的诊断功能设置(DFS)提供一种非常简便的方法,可在诊断层面上对ECU进行仿真。这在以下情况下非常有用:

  • 在无法获得真实硬件ECU的情况下,为ECU创建自动化诊断测试
  • 测试真实硬件网关ECU的诊断路由功能

它能做什么?| 它能解决哪些问题?

要仿真ECU的诊断行为,除了物理层之外,至少还需要两个额外的通信层:传输协议(TP)层和应用层(此处指诊断)。传输协议层取决于所使用的网络(CAN、LIN、FlexRay、汽车以太网),而诊断层则取决于相应诊断数据库中定义的服务。此类诊断数据库还包含用于配置传输协议层和诊断层的通信参数。

CANoe的内置诊断通道不仅为CANoe中的诊断测试仪实现这些层,您可能已经通过Diagnostic Window及其功能(包括诊断控制台、故障存储、变体编码、ECU Control和OBD)使用过这些功能。您还可以激活仿真功能:只需添加一个诊断数据库,勾选一个复选框,并选择用于仿真的仿真节点即可。

一旦激活,该仿真节点将对所有诊断请求返回符合UDS标准的响应,并将响应中的诊断参数填充为默认值。实现此行为无需编写任何一行CAPL。但如果您需要,还可以取决于仿真真实度要求,自定义诊断相应的内容。

在CANoe中哪里可以找到此功能?| 如何启动该过程?

打开CANoe的“Diagnostic/ISO TP配置对话窗口,并在任意网络中添加诊断描述。如果没有诊断描述,您也可以添加Basic Diagnostic Description,并直接在CANoe的Basic Diagnostic Editor中指定包含诊断参数及其数据类型的服务定义。

在Usage of the Diagnostic Description下,只需激活Simulation by勾选框,并选择您要使用的仿真节点(如图所示):

canoe-quick-tip-basic-diagnostic-simulation.png

要自定义诊断相应,您还可以向仿真节点添加一些CAPL代码。一个用于返回ECU序列号的简单CAPL处理程序可能如下所示: 

on diagRequest DoorFL.SerialNumber_Read
{
diagResponse this resp;

diagSetParameter(resp, "SerialNumber", 1234567);
diagSendPositiveResponse(resp);
}

相关的CANoe主题

___canoe-cube.18101873678914930374.jpg
更多关于CANoe的信息
需要帮助吗?
VectorAcademy
团队
需要帮助吗?
我们很乐意为您提供帮助。如果您对我们的培训和认证项目有任何疑问,或者希望获得个性化建议,只需使用我们的联系表即可。