CANoe学习笔记(三):CANoe的诊断功能和cdd文件
内容:
UDS诊断学习
CDD文件配置
诊断功能
一、UDS诊断学习:
①、UDS请求命令4种构成方式:
SID
SID+SF(Sub-function)
SID+DID(Data Identifier)(读写用)
SID+SF+DID
其中安全标识符(Security Identifiers,SID),服务ID值($10、$27那种)
SF(Sub-function):子功能
DID:应该指具体读取哪一个寄存器的值。
②、常见的NRC(响应码)
0x11表示服务不支持;
0x12 subfunction不支持;
0x13 请求的长度不正确,或者格式不正确;
0x31 是请求超出范围;
0x33 安全拒绝
0x35 无效的秘钥
0x7E 是在当前会话下subfunction不支持;(应该是权限不够)
0x7F 是在当前会话下服务不支持。(应该是权限不够)
特殊NRC:78(RCRRP):表明请求消息被正确地接收,请求消息中的所有参数都是有效的,但是要执行的操作还没有完成,等待Server完成后,会重新发送NRC。
③、N_PUD类型
包含PCI+SDU(协议信息+数据单元)


STmin:体现了接收方的处理能力,处理CAN接收的速度
BS:体现了接收方的接收能力:软件buffer的大小
④常用的诊断服务
结合同事与网上资料,重点掌握以下11个
$10 Diagnostic Session Control(诊断会话)
$11 EcuReset(ECU复位)
$27 Security Access(安全访问)
$3E Tester Present(待机握手)。
$22 Read Data By Identifier(通过ID读数据)
$2E Write Data By Identifier(通过ID写数据)
$14 Clear Diagnostic Information(清除诊断信息)
$19 Read DTC Information(读取故障码信息)
$34 Request Download(请求下载)
$36 Transfer Data(数据传输)
$37 Request Transfer Exit(请求退出传输)
二、CDD文件配置:
先打开CANoe自带的CANdelaStudio:


然后新建一个cdd文件,一般CANoe会自带一些模板,我这里选的是CAN的


下面就说一些一般用得到的:
这个是看提供的诊断调查表里的数据填好(主要是ID,其他和我一样好像也可以):
补充:这一部分的配置请看厂商提供的文件,这只是个例子

这个界面是用来定义一些DTC(一般会提供的):

然后在这个界面导入到表格:

这个是根据是否支持勾选的:

这些书籍图标的都是定义的服务类型,如22,2E等,根据提供的诊断调查表来定义

好像也没什么要弄得了,目前就琢磨到了这一步,后续可能用到在记录吧~
然后保存好。。。。
回到主界面:

测试一般就用不到安全算法文件咯,导入之后点击ok:
补充:需要安全算法的,一般会提供.dll文件,在这个位置添加就好了,这个文件一般用与27服务的安全会话。

在右边的Console窗口双击一条指令就可以发送啦!成功!

CANoe学习笔记(三):CANoe的诊断功能和cdd文件的更多相关文章
- 物联网学习笔记三:物联网网关协议比较:MQTT 和 Modbus
物联网学习笔记三:物联网网关协议比较:MQTT 和 Modbus 物联网 (IoT) 不只是新技术,还是与旧技术的集成,其关键在于通信.可用的通信方法各不相同,但是,各种不同的协议在将海量“事物”连接 ...
- [Firefly引擎][学习笔记三][已完结]所需模块封装
原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读: 笔记三主要就是各个模块的封装了,这里贴 ...
- VSTO学习笔记(三) 开发Office 2010 64位COM加载项
原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...
- Java IO学习笔记三
Java IO学习笔记三 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类. OutputStreamWriter:是Writer的子类,将输出的 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(三) 补充 hector_slam
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- Learning ROS for Robotics Programming Second Edition学习笔记(三) indigo rplidar rviz slam
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- Typescript 学习笔记三:函数
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- muduo网络库学习笔记(三)TimerQueue定时器队列
目录 muduo网络库学习笔记(三)TimerQueue定时器队列 Linux中的时间函数 timerfd简单使用介绍 timerfd示例 muduo中对timerfd的封装 TimerQueue的结 ...
- MYSQL学习笔记三:日期和时间函数
MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
随机推荐
- vue拖拽排序插件vuedraggable的使用 附原生使用方法
Vue中使用 先下载依赖: npm install vuedraggable -S 项目中引入 import draggable from 'vuedraggable' 注册 components: ...
- 使用二进制方式安装Docker
长期使用安装工具进行安装docker,今天用二进制方式手动安装一下docker环境. 二进制包下载地址:https://download.docker.com/linux/static/stable/ ...
- 生产事故-记一次特殊的OOM排查
入职多年,面对生产环境,尽管都是小心翼翼,慎之又慎,还是难免捅出篓子.轻则满头大汗,面红耳赤.重则系统停摆,损失资金.每一个生产事故的背后,都是宝贵的经验和教训,都是项目成员的血泪史.为了更好地防范和 ...
- 有关Spring的ioc理解之代理模式
AOP代理模式可以实现事务控制和业务逻辑代码横切. 使用代理模式,动态代理实现横切. 什么是代理? 接口就是指定要做的事情,要实现的逻辑. 代理类似于房源租房 public interface ZuF ...
- Cisco RV32X系列路由器 从1day分析到0day挖掘
前言 拿到一个iot设备,笔者比较喜欢先去看一下它的历史漏洞,也许可以从中得到一些启发.发现Cisco之前修补过这个系列设备的命令注入漏洞. https://sec.cloudapps.cisco.c ...
- Java GC基础知识
对象存活判断 引用计数 在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一:当引用失效时,计数器值就减一:任何时刻计数器为零的对象就是不可 能再被使用的 引用计数法的缺陷: publi ...
- 【Spring5】JdbcTemplate
JdbcTemplate实现对数据库增删改查 步骤 导入Jar包 mysql-connector-java-8.0.28.jar:mysql数据库连接的相关依赖 spring-tx-5.2.6.REL ...
- API 网关日志的价值,你了解多少?
本文介绍了 API 网关日志的价值,并以知名网关 Apache APISIX 为例,展示如何集成 API 网关日志. 作者钱勇,API7.ai 技术工程师,Apache APISIX Committe ...
- 开心档之MySQL 管理
MySQL 管理 启动及关闭 MySQL 服务器 Windows 系统下 在 Windows 系统下,打开命令窗口(cmd),进入 MySQL 安装目录的 bin 目录. 启动: cd c:/mysq ...
- 关于Java中值传递和址传递
参数传递在Java中有两种类型 值和址 其实本质都是一份拷贝 在调用函数的时候 进行压栈 传进来的参数会被开辟一份新的空间 传基本类型是把值传过去 传引用数据类型是实例指向实参 void m(int ...