立即注册找回密码

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索

图文播报

查看: 239|回复: 0

[分享] CANoe的诊断功能简介

[复制链接]
发表于 2025-2-16 15:32 | 显示全部楼层 |阅读模式

登陆有奖并可浏览互动!

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录 手机动态码快速登录

×
写在正文之前:最近汽车行业不太景气,各个主机厂的销量都在下滑,每个公司的开源节流压力都很大。作为汽车工程师,我们更应该修炼自己、提升能力,熬过这段艰苦的时间,相信汽车行业在中国的未来几十年还会是一个朝阳行业。
CANoe是汽车工程师、尤其是汽车电子工程师最常用的工具之一,它是一个非常强大的开发、仿真、测试环境。我本人入行之后负责诊断,所以在工作中对CANoe的诊断功能使用得比较多,我在这篇文章中对CANoe在诊断方面可以实现的事情做个简单总结,希望可以帮到有需求的同行。
CANoe在诊断方面主要有三个用途:
1.作为诊断仪;
2.模拟实现ECU的诊断功能;
3.对ECU的诊断进行自动化测试。
诊断数据在CANoe中的传输有两条路径,如下图所示:



图片来自vector的help文档

当我们使用CANoe提供的诊断操作界面时,数据走的是上图左边的路径,这条路径对用户是不可见的。当我们需要自己编程实现对ECU诊断功能的仿真、或者实现诊断的自动化测试时,诊断数据走的是上图右边的路径,其中的callback函数和传输层动态库(在CANoe的安装文件夹中的名字是osek_tp.dll)对用户是可见的,我们可以用它们来编程实现自己的需求。我在之前的文章中介绍过它们的使用方法,如有需求可以参考。
与诊断功能相关的CANoe组件包括以下:
1.Transport Protocol (TP) DLL(用户自定义诊断需求时需要使用的动态库)
2.ISO TP Observer(可以帮助用户解析传输层协议,使用该功能后,在trace界面的诊断报文的传输层信息可以被解析出来)
3.Interactive Diagnostic Console(CANoe提供的诊断命令发送和接收的操作面板)
4.Fault Memory window(CANoe内置的读取ECU故障码的操作面板)
5.Diagnostic Session Control window(CANoe内置的转换ECU session的操作面板)
6.OBD II window(CANoe内置的读取OBD信息的操作面板)
7.CAPL extensions for diagnostics(在CAPL编程环境中内置的诊断插件)



CANoe 10.0版本关于诊断功能的界面

在将CANoe用作诊断仪时,我们首先应该导入诊断描述文件,这些文件可以是CDD/ODX/MDX 这几种格式的,如果用户没有自己的诊断描述文件,还可以导入CANoe内置的1.基础诊断描述 (UDS/KWP)。导入这些文件之后,下面这个界面的左边就会把诊断文件中包含的被诊断ECU列出来。



导入诊断描述文件

用户还可以在下面这个界面中进行一些参数配置,主要包括诊断使用的物理寻址CAN-ID和功能寻址CAN-ID,传输层的STmin等。



诊断参数配置

CANoe的Basic Diagnostic界面为用户展示了每个UDS支持的诊断服务,如下图所示。这些内容来自于用户之前导入的PDX或CDD文件。



Basic Diagnostic界面

在Diagnostic Console界面,用户可以实现诊断命令的发送和接收,如下图所示。



Diagnostic Console界面

如果之前的参数配置都没有错的话,我们就可以选择读取某个ECU的故障码了,还可以对ECU执行session转换、SecurityAccess、ECUReset、DTCsetting(85服务)、通信控制(28服务)。如下面两张图所示。




如果用户需要调用传输层动态库来实现诊断功能,则需要在配置node的时候添加osek_tp.dll,具体操作如下图所示:



添加osek_tp.dll的方法

osek_tp.dll提供了传输层接口,使用户免去了自己实现15765-2的麻烦,具体用法可以参考help文档。

原文地址:https://zhuanlan.zhihu.com/p/69284450
楼主热帖
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册 微信登录 手机动态码快速登录

本版积分规则

关闭

官方推荐 上一条 /3 下一条

快速回复 返回列表 客服中心 搜索 官方QQ群 洽谈合作
快速回复返回顶部 返回列表