从零开始搭建一个UDS诊断自动化测试CANoe工程
文章平均质量分 92
调用osek_tp.dll、DOIP.dll实现UDS诊断通信;建立XML自动化测试节点,诊断ID可在panel动态修改,CAN/CANFD/ETH可在面板配置,27服务解锁框架,DTC解析以及比对等。UDS诊断平台化工程,底层函数均已实现,可以基于此开发不同的用例以及应用于不同的项目。
优惠券已抵扣
余额抵扣
还需支付
¥199.90
¥299.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
天赐好车
专注于车载网络诊断测试,测试系统以及平台搭建,自动化测试开发(CANoe/CAPL/python),技术支持可以私信。专栏《车载网络诊断测试那些事儿》收录测试过程中遇到的问题以及一些小功能的demo,持续更新;专栏《从零开始搭建一个UDS诊断自动化测试CANoe工程》相当于一个UDS诊断平台化工程,可以基于此去应用于不同的项目,底层函数均已实现,可以基于此开发不同的用例。此专栏也会一并收录与诊断相关的问题。专栏《车载电子测试—CANoe+CAPL能做什么?》介绍比较复杂的工程示例。专栏《车载网络诊断测试攻略》通过建立标准和平台的思路去解决网络诊断测试这项内容。
展开
-
一、建立CANoe工程及实现UDS诊断基本通信(专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
调用osek_tp.dll实现诊断基本通信,可发送UDS诊断的报文,实现多帧传输等。本专栏将从零开始搭建一个用于UDS诊断服务的CANoe测试工程,基于CAN/CANFD总线,可以手动测试,也可自动化测试,使用XML测试节点实现。原创 2023-07-05 20:59:05 · 3554 阅读 · 4 评论 -
二、通过Panel发送接收UDS诊断报文 1(专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
本专栏将从零开始搭建一个用于UDS诊断服务的CANoe测试工程,基于CAN/CANFD总线,可以手动测试,也可自动化测试,使用XML测试节点实现。目前使用cdd及diva可以快速生成uds诊断的测试用例及工程,任有部分用例无法涉及或配置比较复杂。CAN/CANFD可以配置选择。诊断ID可通过面板配置,工程运行过程也可以修改,cdd的诊断id是固定的。通过osek_tp.dll实现诊断服务的接收和发送。物理寻址,功能寻址可以配置。实现27服务安全解锁的框架,具体算法需要根据不同厂商自己去实现。原创 2023-07-11 22:08:17 · 697 阅读 · 0 评论 -
三、通过Panel发送接收UDS诊断报文 2(专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
通过Panel发送接收UDS诊断报文。本专栏将从零开始搭建一个用于UDS诊断服务的CANoe测试工程,基于CAN/CANFD总线,可以手动测试,也可自动化测试,使用XML测试节点实现。目前使用cdd及diva可以快速生成uds诊断的测试用例及工程,任有部分用例无法涉及或配置比较复杂。CAN/CANFD可以配置选择。诊断ID可通过面板配置,工程运行过程也可以修改,cdd的诊断id是固定的。通过osek_tp.dll实现诊断服务的接收和发送。原创 2023-07-18 22:11:46 · 457 阅读 · 0 评论 -
四、第一个测试用例(专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
在这个xml 测试节点加载我们需要使用的osek_tp.dll,并新建一个C本专栏将从零开始搭建一个用于UDS诊断服务的CANoe测试工程,基于CAN/CANFD总线,可以手动测试,也可自动化测试,使用XML测试节点实现。目前使用cdd及diva可以快速生成uds诊断的测试用例及工程,任有部分用例无法涉及或配置比较复杂。CAN/CANFD可以配置选择。诊断ID可通过面板配置,工程运行过程也可以修改,cdd的诊断id是固定的。能寻址可以配置。实现27服务安全解锁的框架,具体算法需要根据不同厂商自己去实现。原创 2023-07-20 21:48:42 · 892 阅读 · 0 评论 -
五、设计常用服务按钮(专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
前面几篇介绍了panel的上半部分,接下来介绍下半部分。诊断服务中有些服务我们是经常用到的,像会话切换,复位,解锁,读取清除DTC等。下面的面板优化的一部分,整体逻辑跟之前看到的是一样的,can canfd用了两个按钮设置,接收的数据增加了一个ascii码的显示,读取一些软件版本的时候能够转换。原创 2023-07-24 21:53:40 · 224 阅读 · 0 评论 -
六、安全解锁框架-27服务(专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
UDS 27服务 安全解锁原创 2023-07-25 21:39:44 · 920 阅读 · 0 评论 -
七、解析DTC(专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
本专栏将从零开始搭建一个用于UDS诊断服务的CANoe测试工程,基于CAN/CANFD总线,可以手动测试,也可自动化测试,使用XML测试节点实现。目前使用cdd及diva可以快速生成uds诊断的测试用例及工程,任有部分用例无法涉及或配置比较复杂。CAN/CANFD可以配置选择。诊断ID可通过面板配置,工程运行过程也可以修改,cdd的诊断id是固定的。通过osek_tp.dll实现诊断服务的接收和发送。物理寻址,功能寻址可以配置。实现27服务安全解锁的框架,具体算法需要根据不同厂商自己去实现。原创 2023-07-25 21:40:37 · 507 阅读 · 0 评论 -
八、UDS自动化测试(正负响应)(专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
本专栏将从零开始搭建一个用于UDS诊断服务的CANoe测试工程,基于CAN/CANFD总线,可以手动测试,也可自动化测试,使用XML测试节点实现。目前使用cdd及diva可以快速生成uds诊断的测试用例及工程,任有部分用例无法涉及或配置比较复杂。CAN/CANFD可以配置选择。诊断ID可通过面板配置,工程运行过程也可以修改,cdd的诊断id是固定的。通过osek_tp.dll实现诊断服务的接收和发送。物理寻址,功能寻址可以配置。实现27服务安全解锁的框架,具体算法需要根据不同厂商自己去实现。原创 2023-07-26 23:06:12 · 847 阅读 · 0 评论 -
九、UDS自动化测试(27服务)(专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
10 03 50 0327 0567 05 xx xx xx xx27 06 yy yy yy yy //发送错误key7F 27 35//第一次解锁失败27 0567 05 xx xx xx xx27 06 yy yy yy yy //发送错误key7F 27 36//第二次解锁失败27 057F 27 37//第三次请求种子... ...//再次请求还是nrc37testswaitfortimeout(解锁失败后等待时间delay_TIME)27 05//再次请求seed原创 2023-07-29 03:25:33 · 512 阅读 · 0 评论 -
十、UDS自动化测试(DTC)(专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
DTC这块测试对比其他测试项相对复杂,主要是解析数据和对比DTC这块。这两块解决了,然后就是如何制造故障,我们这里只介绍三种类型的故障:通信相关(节点丢失,信号错误等),制造这类故障主要是使用CANoeIL,通过代码来控制报文的发送行为,修改信号的数据等;高低压故障,如果有程控电源,就可以时间上比较精确的控制,如果没有,可以用testWaitForTesterConfirmation函数来进行等待手动操作完成。busoff故障,使用VH6501设备,也可进行程序控制。原创 2023-07-30 14:16:06 · 1059 阅读 · 0 评论 -
十一、UDS自动化测试(节点丢失和高低压DTC)(专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
三、如何使用CANoeIL制造故障(接上篇)四、通信相关DTC测试(报文丢失,信号错误)五、高低压DTC原创 2023-07-31 05:58:48 · 490 阅读 · 0 评论 -
十二、UDS自动化测试(busoff DTC)(专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
本专栏将从零开始搭建一个用于UDS诊断服务的CANoe测试工程,基于CAN/CANFD总线,可以手动测试,也可自动化测试,使用XML测试节点实现。目前使用cdd及diva可以快速生成uds诊断的测试用例及工程,任有部分用例无法涉及或配置比较复杂。本工程主要实现功能如下:bootloader功能主要是36服务的实现,还不确定要不要实现及介绍。此工程拿来即可使用,除27服务算法那块需要自己去实现,诊断id,can/canfd都可配置。测试用例也可二次开发成自己需要的,底层函数均实现。要提升自动化程度,也可基原创 2023-07-31 06:11:15 · 520 阅读 · 1 评论 -
十三、UDS自动化测试(DID读取写入)(专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
本专栏将从零开始搭建一个用于UDS诊断服务的CANoe测试工程,基于CAN/CANFD总线,可以手动测试,也可自动化测试,使用XML测试节点实现。目前使用cdd及diva可以快速生成uds诊断的测试用例及工程,任有部分用例无法涉及或配置比较复杂。CAN/CANFD可以配置选择。诊断ID可通过面板配置,工程运行过程也可以修改,cdd的诊断id是固定的。通过osek_tp.dll实现诊断服务的接收和发送。物理寻址,功能寻址可以配置。实现27服务安全解锁的框架,具体算法需要根据不同厂商自己去实现。原创 2023-08-01 05:54:27 · 2023 阅读 · 0 评论 -
十四、UDS自动化测试(28、85服务+压力测试)(专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
28服务是控制报文的发送与接收的,一般在刷写前会使用这个服务禁掉报文的发送。第一个字节:00 启用Rx和Tx01 启用Rx和禁用Tx02 禁用Rx和启用Tx03 禁用Rx和Tx第二个字节:01 APP报文02 NM报文03 APP+NM报文原创 2023-08-02 20:38:49 · 428 阅读 · 0 评论 -
十五、UDS自动化测试(bootloader刷写)(专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
36服务是实现boot刷写的重点,其他服务跟之前介绍的服务都有相似之处,不花大篇幅介绍。36服务发的数据格式为:36+counter+data,比如:第一轮:36 01 + data36 02 + data... ...36 FF + data第二轮:36 00 + data //从第二轮开始,counter是从 00 开始,直到传输完成36 01 + data36 02 + data... ...36 FF + data... ...... ...原创 2023-08-02 20:40:35 · 2171 阅读 · 3 评论 -
十六、DoIP诊断通信 1 (专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
本文在之前文章的基础上实现车载以太网DoIP诊断通信,通过调用DOIP.dll实现。除了发送接收报文部分,上层UDS诊断处理都是一样的,所以可以和CAN/CANFD的共用。最后在一个CANoe工程里实现了CAN/CANFD/ETH3种通信方式的UDS诊断。原创 2023-08-14 23:20:13 · 634 阅读 · 2 评论 -
十七、DoIP诊断通信 2 (专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
上篇介绍了在test自动化模块里的DoIP通信,这篇介绍在节点里的DoIP通信,结合panel面板发送DoIP诊断报文。原创 2023-08-20 14:07:16 · 804 阅读 · 1 评论 -
十八、自动化进阶(使用python生成config.cin文件)(专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
通过一个excel来记录DTC的一些信息,我们定义填写标准,通过python对这个excel的数据进行提取,然后根据提取的信息生成一个config.cin文件。原创 2023-09-02 22:22:07 · 925 阅读 · 1 评论 -
⭐持续优化部分(专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程)
⭐DTC显示不全问题解决⭐获取诊断回复优化部分,取消testwaitfortimeout,解决NRC78导致的判断错误⭐设置多路CAN通道诊断报文没有发在指定通道上原创 2023-07-29 03:08:55 · 310 阅读 · 0 评论 -
一、CANoe基本操作(CANoe基础教学)
CANoe基础教学包括两篇文章,如下:一、CANoe基本操作(CANoe基础教学)二、CAPL+系统变量+Panel基本操作(CANoe基础教学)如果只是简单的使用下CANoe,这两篇文章完全可以应对大部分情况。原创 2023-08-01 05:57:19 · 896 阅读 · 0 评论 -
二、CAPL+系统变量+Panel基本操作(CANoe基础教学)
CANoe基础教学包括两篇文章,如下:一、CANoe基本操作(CANoe基础教学)二、CAPL+系统变量+Panel基本操作(CANoe基础教学)如果只是简单的使用下CANoe,这两篇文章完全可以应对大部分情况。原创 2023-08-05 17:04:30 · 2229 阅读 · 1 评论 -
CAPL实现判断DTC状态位bit是否符合要求
CAPL实现判断DTC状态位bit是否符合要求原创 2024-05-25 08:04:27 · 262 阅读 · 0 评论 -
按照CANoe模板制作seed&&key.dll
在canoe进行诊断测试的时候,在0x27服务中需要制作一个dll文件。可在canoe的诊断中进行加载,也可用于diva的自动化测试。本文按照canoe提供的KeyGenDll_GenerateKeyEx模板制作。KEYGENALGO_API VKeyGenResultEx GenerateKeyEx( const unsigned char* iSeedArray, /* Array for the seed [in] */ unsigned int原创 2021-08-22 10:41:20 · 5010 阅读 · 2 评论 -
UDS诊断获取功能寻址回复(多个控制器)(CAN/CANFD/DoIP)
功能寻址,又接了不只一个控制器,怎么获取每个控制器的回复并输出出来?原创 2023-08-03 20:42:58 · 469 阅读 · 0 评论 -
车载电子测试、CANoe+CAPL能做什么?、车载网络诊断测试攻略(专栏文章介绍)
本文介绍作者开设专栏及文章:专栏:车载网络诊断测试攻略专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程专栏:车载网络诊断测试那些事儿专栏:车载电子测试—CANoe+CAPL能做什么?一、CANoe基本操作(文章目录)二、CAPL+系统变量+Panel基本操作(文章目录)原创 2023-08-05 17:18:49 · 1411 阅读 · 3 评论