如何使用CANoe诊断控制台发送诊断命令
一、引言
在基于CANoe的测试中,我们常会遇到一些典型场景:例如需要快速读取ECU诊断信息,此时许多测试工程师往往会首选使用IG(Interactive Generator Block)模块直接模拟发送诊断请求。使用IG模块对于单帧可完成简单请求,然而一旦需要读取超长数据(如某些DID信息)或诊断故障码,IG手动组帧的繁琐与多帧处理的复杂性便会立刻显现,使得整个过程效率低下且极易出错。本文将以CANoe为实操平台,结合CDD诊断数据库文件,描述如何通过诊断控制台(Diagnostic Console)来发送诊断指令。
CDD(CANdela Diagnostic Descriptions)诊断数据库文件是用于描述汽车电子控制单元诊断数据的数据库文件,主要用于优化诊断开发过程。CDD文件使用Vector公司的CANdelaStudio工具创建,可以在CANoe/CANalyzer中用于诊断服务和参数的访问和解释。
二、CANoe诊断控制台发送CAN诊断报文
(一) 打开CANoe软件的【Diagnostic/ISO TP】模块
图1 【Diagnostic/ISO TP】界面
(二)导入CDD诊断数据库文件
选择第一项添加对应控制器特定的CDD诊断数据库文件。如果没有对应控制器的CDD文件,可以选择第四项,添加Vector标准的CDD诊断数据库文件。
图2 CANoe导入CDD诊断数据库文件
(三)修改诊断控制台参数
导入CDD文件后可以在【Transport Layer】界面根据控制器参数信息修改诊断ID,传输层参数,总线类型等。
图3 【Transport Layer】界面
(四)打开【Diagnostic Console】界面发送诊断数据
(五)双击左侧的诊断服务来发送诊断数据
图5 双击左侧的诊断服务来发送诊断数据
(六)直接输入诊断命令,然后点击【Execute】来发送诊断数据
图7和图8为诊断控制台发送CAN诊断数据和发送CAN FD诊断数据的截图。
图 7 CAN诊断报文发送
(七)加载安全访问DLL文件来进行安全解锁
打开【Diagnostic Layer】界面,找到【Seed&Key DLL】,加载安全访问DLL件后,可以发送27服务来进行安全解锁。
(八)发送功能寻址诊断命令
找到【Usage of the Diagnostic Description】,选择【Functional Group Requests】,打开【Diagnostic Console】界面发送诊断数据。
图11 【Functional Group Requests】
图12 功能寻址诊断报文发送
(九)注意激活在线保持
打开【Diagnostic Console】界面,点击【Tester Present on】图标,可以开启在线保持,Tester 周期发送3E 80维持会话。
图13 开启在线保持
三、CANoe诊断控制台发送Ethernet诊断报文
CANoe通过诊断控制台发送Ethernet诊断报文的步骤与发送CAN诊断报文步骤1-7相同,需要增加如下几个配置项:
(一)TCP/IP协议栈配置
打开菜单栏中的【Simulation】,点击【TCP/IP Stack】,弹出【TCP/IP Stack】界面后,修改Tester的IP地址信息。
(二)控制器IP配置及逻辑地址配置
在【Diagnostic/ISO TP】中,找到【DoIP/HSFZ Setting】,设置Tester逻辑地址,控制器逻辑地址以及控制器IP地址。
(三)修改DoIP版本
在【DoIP/HSFZ Main Setting】界面中,点击【Protocol】下拉可以选择使用2012版DoIP协议还是2019版DoIP协议。
(四)打开【Diagnostic Console】界面发送诊断数据
四、 CANoe诊断控制台发送LIN诊断报文
CANoe通过诊断控制台发送LIN诊断报文的步骤与发送CAN诊断报文步骤1-7相同,需要增加如下几个配置项:
(一)在导入CDD文件之前需要先加载LDF文件
在菜单栏【Simulation】下找到【Simulation Setup】并点击,找到LIN Networks,右键点击【Database】后点击【Add】添加LDF文件。
图18 添加LDF文件
(二)在LDF文件中修改诊断NAD
如图19所示,由于在诊断控制台中诊断NAD为标灰项无法更改,因此需要在LDF文件中更改NAD,如图20所示。
图19 LIN 【Diagnostic/ISO TP】
(三)修改发送报文配置
在使用诊断控制台发送LIN诊断报文之前,在【Diagnostic/ISO TP】中,找到【LIN Settings】,选择【Diagnostics only】来发送LIN诊断报文。
图21 LIN 【Diagnostic/ISO TP】修改发送报文配置
(四)打开【Diagnostic Console】界面发送诊断数据
图22 LIN诊断报文发送
五、总结:
以上介绍了利用CANoe诊断控制台直接发送CAN/LIN/Ethernet诊断请求的详细步骤。该方法的核心优势在于通过集成CDD诊断数据库,将复杂的多帧通信底层工作交由工具自动完成,从而实现操作简化以及效率提升。
北汇信息作为一家专注于汽车电子测试领域的企业,在车载网络测试方面积累了丰富经验。我们可提供专业的培训、技术咨询及完整的测试解决方案,协助汽车制造商与零部件供应商确保车载网络系统的可靠性及安全性。如您需要具体的测试服务或希望了解更多信息,欢迎随时联系我们。
注:文中部分图片来源于Vector
本文来自博客园,作者:{北汇信息},转载请注明原文链接:{https://www.cnblogs.com/polelink/}

浙公网安备 33010602011771号