news 2026/4/28 12:02:25

如何使用CANoe诊断控制台发送诊断命令

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何使用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】界面发送诊断数据

图4 打开【Diagnostic Console】

(五)双击左侧的诊断服务来发送诊断数据

图5 双击左侧的诊断服务来发送诊断数据

(六)直接输入诊断命令,然后点击【Execute】来发送诊断数据

图6 点击【Execute】发送诊断数据

图7和图8为诊断控制台发送CAN诊断数据和发送CAN FD诊断数据的截图。

图 7 CAN诊断报文发送

图8 CAN FD诊断报文发送

(七)加载安全访问DLL文件来进行安全解锁

打开【Diagnostic Layer】界面,找到【Seed&Key DLL】,加载安全访问DLL件后,可以发送27服务来进行安全解锁。

图9 【Diagnostic Layer】界面

图10 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地址信息。

图14 【TCP/IP Stack】

(二)控制器IP配置及逻辑地址配置

在【Diagnostic/ISO TP】中,找到【DoIP/HSFZ Setting】,设置Tester逻辑地址,控制器逻辑地址以及控制器IP地址。

图15 控制器IP配置及逻辑地址配置

(三)修改DoIP版本

在【DoIP/HSFZ Main Setting】界面中,点击【Protocol】下拉可以选择使用2012版DoIP协议还是2019版DoIP协议。

图16【DoIP/HSFZ Main Setting】修改DoIP版本

(四)打开【Diagnostic Console】界面发送诊断数据

图17 Ethernet诊断报文发送

四、 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】

图20 修改LDF文件

(三)修改发送报文配置

在使用诊断控制台发送LIN诊断报文之前,在【Diagnostic/ISO TP】中,找到【LIN Settings】,选择【Diagnostics only】来发送LIN诊断报文。

图21 LIN 【Diagnostic/ISO TP】修改发送报文配置

(四)打开【Diagnostic Console】界面发送诊断数据

图22 LIN诊断报文发送

五、总结:

以上介绍了利用CANoe诊断控制台直接发送CAN/LIN/Ethernet诊断请求的详细步骤。该方法的核心优势在于通过集成CDD诊断数据库,将复杂的多帧通信底层工作交由工具自动完成,从而实现操作简化以及效率提升。

北汇信息作为一家专注于汽车电子测试领域的企业,在车载网络测试方面积累了丰富经验。我们可提供专业的培训、技术咨询及完整的测试解决方案,协助汽车制造商与零部件供应商确保车载网络系统的可靠性及安全性。如您需要具体的测试服务或希望了解更多信息,欢迎随时联系我们。

注:文中部分图片来源于Vector

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 17:37:33

终极指南:如何快速掌握iogame游戏服务器框架

终极指南:如何快速掌握iogame游戏服务器框架 【免费下载链接】ioGame 项目地址: https://gitcode.com/gh_mirrors/io/ioGame 你是否曾经为构建高性能游戏服务器而烦恼?传统的Java游戏服务器开发往往需要编写大量重复代码,调试复杂的网…

作者头像 李华
网站建设 2026/4/27 22:25:05

AI技术如何重塑现代篮球训练方法

AI技术如何重塑现代篮球训练方法 【免费下载链接】AI-basketball-analysis 项目地址: https://gitcode.com/gh_mirrors/ai/AI-basketball-analysis 在科技飞速发展的今天,人工智能正以前所未有的方式改变着传统体育训练模式。篮球作为一项技术性极强的运动&…

作者头像 李华
网站建设 2026/4/27 16:33:58

Mikan Flutter:5分钟掌握动漫资源聚合应用完整使用指南

Mikan Flutter:5分钟掌握动漫资源聚合应用完整使用指南 【免费下载链接】mikan_flutter Flutter 驱动的三方 蜜柑计划(https://mikanani.me) APP,:construction: 开发中... 项目地址: https://gitcode.com/gh_mirrors/mi/mikan_…

作者头像 李华
网站建设 2026/4/22 4:55:56

数字人动画云端渲染方案

作者:vivo 互联网前端团队 - Su Ning 为解决拟我形象在多场景展示中依赖 3D 渲染导致的性能与接入问题,本文提出将形象预先导出为视频或动图资源。对比三种技术路径后,最终选择 Puppeteer H5 渲染帧 FFmpeg 合成视频 的方案,实现…

作者头像 李华
网站建设 2026/4/28 2:05:01

单桶 5 亿就满了?XEOS V6:别折腾业务,我能扛 1000 亿!

当对象存储的单桶对象数量达到 5 亿时,是选择被迫推动业务代码重构进行“分桶”,还是选择一个真正能够支撑业务无限增长的底座?XEOS V6 给出了千亿级的答案。 在海量非结构化数据爆发的今天,很多企业在业务高速发展期&#xff0c…

作者头像 李华