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)
随机推荐
- 浅谈Array --JavaScript内置对象
Array --JavaScript内置对象 描述 可以用一个变量存储多种数据类型的Array对象,Array不是关联数组,不能使用字符串作为索引访问数组元素,需要使用非负整数的下标访问数组中的元素. ...
- Terraform 系列-Terraform 项目的典型文件布局
系列文章 Terraform 系列文章 典型文件布局 - modules/ - services/ - webserver-cluster/ - examples/ - main.tf - outpu ...
- 逍遥自在学C语言 | 变量、常量与数据类型
前言 一.人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 -- 自在. 第二位上场的是和我们一起学习的小白程序猿 -- 逍遥. 二.基本数据类型 1.整型 C语言中的整型数据如下表所示: ...
- [GIT]指定分支下创建分支
1 解决方案 Eg: master分支下创建 $ git checkout master //切换到master分支下 $ git branch branch_tmp_A //在本地仓库创建临时分支b ...
- Notion AI:门槛更低的ChatGPT Plus
[2023年3月27日]由于接口成本的问题,如今的大部分应用应该都只会建立在GPT-3/ChatGPT接口的基础上,所以想要体验GPT-4,还是得尊贵的ChatGPT Plus. 前段日子体验了Not ...
- MQTT(EMQX) - SpringBoot 整合MQTT 连接池 Demo - 附源代码 + 在线客服聊天架构图
MQTT(EMQX) - Linux CentOS Docker 安装 MQTT 概述 MQTT (Message Queue Telemetry Transport) 是一个轻量级传输协议,它被设计 ...
- Java设计模式 —— 桥接模式
10 桥接模式 10.1 桥接模式概述 Bridge Pattern: 将抽象部分与它的实现部分解耦,使得两者都能够独立变化. 桥接模式是一种很实用的结构型模式,如果系统中某个类存在两个独立变化的维度 ...
- Spring @Profile注解使用和源码解析
介绍 在之前的文章中,写了一篇使用Spring @Profile实现开发环境,测试环境,生产环境的切换,之前的文章是使用SpringBoot项目搭建,实现了不同环境数据源的切换,在我们实际开发中,会分 ...
- 论文解读(PAWS)《Semi-Supervised Learning of Visual Features by Non-Parametrically Predicting View Assignments with Support Samples》
论文信息 论文标题:Semi-Supervised Learning of Visual Features by Non-Parametrically Predicting View Assignme ...
- Go语言实现简单分布式系统
使用Go语言实现比较简单的分布式系统,这个系统中采用多个分布式模型,即混合模型,并且基于HTTP进行通信,传输JSON数据 github链接: https://github.com/T4t4KAU/d ...