NRC 0x78 在CAPL中如何打开和关闭
问题背景:
在诊断会话层,从发送诊断到响应答复都规定了定时参数,其中有两个P2 server的时间:
- P2CAN_SERVER :俗称短时间,在接受到请求信息后,服务器开始答复信息的运行要求,一般是50ms.
- P2*CAN_SERVER :俗称长时间,服务器在传递了0x78的否定应答码,服务器开始答复信息的运行时间,一般是5000ms.
CANoe 默认状态下,把0x78当成特殊负响应应答码,收到NRC78的时候,会自动将等待应答的时间填充为P2*~CAN_SERVER 时间。
现在我想实现的是,当收服务器返回的0x78时,把它当成一般的NRC处理。
diagSetP2Extended ()
选择 form3 ,下面的解释是:
如果“响应等待”处理被停用,CANoe 将0x78 响应转发到CAPL作为一般消极的响应。否则,P2ex计时器将自动启动,并报告最终响应或超时。
忽视 NRC0x78的响应
req_Reset_All_Parameters_Start
这个服务的响应时间大约在10s,左右,我们这里代码中设置 TestWaitForDiagResponse(req_Reset_All_Parameters_Start,3000);
肯定是不够的,如果禁用掉diagSetP2Extended (),看下输出结果:
// write("DiagSetP2Extended(-1):%d",DiagSetP2Extended(-1));TestReportWriteDiagObject(req_Reset_All_Parameters_Start); DiagSendRequest(req_Reset_All_Parameters_Start);TestWaitForDiagRequestSent(req_Reset_All_Parameters_Start, 150);retVal = TestWaitForDiagResponse(req_Reset_All_Parameters_Start,3000); write("TestWaitForDiagResponse():%d",retVal);write("response size:%ld",diagGetRespPrimitiveSize(req_Reset_All_Parameters_Start));// write("DiagSetP2Extended(-1):%d",DiagSetP2Extended(0));
输出结果:
TestWaitForDiagResponse():0 //返回结果为0,说明3000ms超时时间到了,但是没有收到 积极或者消极的响应
response size :-98 //也时说明没收到响应
下面的Trace中可以看出,31 01 DC 10的响应时间大概为10s, 当时间戳2.733 s发送了31诊断请求后,服务器在50ms 内也就是在2.788s无法给出积极或者消极响应,于是就给客户端响应了NRC78,告诉客户端你在给我5000ms的时间,但是由于我们的代码是TestWaitForDiagResponse(req_Reset_All_Parameters_Start,3000)
也就是不管短时间长时间我最多只给你3000ms,在这时间有积极或者消极响应(客户端忽略NRC78),就返回值为1,否则为0;即使服务器后面时间给出了响应,我也不会等待了。
将NRC0x78 当成普通的 NRC
我们 使能DiagSetP2Extended(-1)
代码。
write("DiagSetP2Extended(-1):%d",DiagSetP2Extended(-1));TestReportWriteDiagObject(req_Reset_All_Parameters_Start); DiagSendRequest(req_Reset_All_Parameters_Start);TestWaitForDiagRequestSent(req_Reset_All_Parameters_Start, 150);retVal = TestWaitForDiagResponse(req_Reset_All_Parameters_Start,3000); write("TestWaitForDiagResponse():%d",retVal);write("response size:%ld",diagGetRespPrimitiveSize(req_Reset_All_Parameters_Start));write("DiagSetP2Extended(-1):%d",DiagSetP2Extended(0));
输出结果:
DiagSetP2Extended(-1):0 // 返回值为0 说明设置成功的;
TestWaitForDiagResponse():1 //返回值为 1 ,说明 在3000ms内收到了积极或者消极的响应。
response size :3 //响应的数据长度是3,说明是消极响应,即返回的 7F 31 78
DiagSetP2Extended(0):0
NRC 0x78 在CAPL中如何打开和关闭相关推荐
- win10计算机管理没有蓝牙,win10系统中缺少打开或关闭蓝牙选项的解决方法
在win10系统中,自带有蓝牙功能,但是有时候在使用蓝牙的时候,发现设置应用程序或操作中心中缺少打开蓝牙的选项,遇到这样的问题该怎么办呢,本文就给大家讲解一下win10系统中缺少打开或关闭蓝牙选项的解 ...
- 计算机管理服务中没有ANSYS,WIN7:ANSYS12.0时,出现:必须使用控制面板中的打开或关闭windows功能安装或配置...
ect to any license serber. The server is down or is not responsive. ANSYSLI_SERVERS:2325@jianpengli ...
- python中文件打开与关闭操作命令
1.文件打开与关闭 在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件 open(文件名,访问模式). f = open('test.txt', 'w') 文件打开模式: ...
- 【已解决】谷歌Chrome浏览器中如何打开或关闭网页的自动翻译功能?
对于经常查阅各种外文资料的人来说,谷 歌翻译插件 必不可少.但是今天小编要跟大家说的不是 chrome插件 ,而是chrome自带的网页翻译功能.Chrome有自带整页翻译的功能,这个我相信很 对于经 ...
- 谷歌Chrome浏览器中如何打开或关闭网页的自动翻译功能?
对于经常查阅各种外文资料的人来说,谷 歌翻译插件 必不可少.但是今天小编要跟大家说的不是 chrome插件 ,而是chrome自带的网页翻译功能.Chrome有自带整页翻译的功能,这个我相信很 对于经 ...
- 谷歌Chrome浏览器中如何打开或关闭网页的自动翻译功能
目录 阅读源 阅读源 https://blog.csdn.net/jamie0515/article/details/76596179
- 打开计算机无法关闭窗口,电脑中“打开或关闭Windows功能”窗口出错无法显示怎么解决...
当我们想要开启或删除电脑系统中的某些应用时,需要打开控制面板中的"打开或关闭Windows功能"窗口来进行设置.但是,有的用户可能由于某些原因导致打开该窗口出错,无法显示里面 ...
- win10 更新后右下角 网络图标没有了,并且打开或关闭系统图标中的网络为灰色
问题描述: 1.各个网口驱动正常,能够上网,只是需要进入设置中的"网络和Internet" 中去连接和设置网络 2.WLAN AutoConfig 服务已在运行 3.任务栏设置中的 ...
- 打开文件位置在计算机游戏里面,Win7电脑“打开或关闭windows功能”里面没有游戏文件夹的修复方法...
平时系统中可以使用"打开或关闭windows功能"来删除或安装系统默认的游戏.但是最近有雨林木风win7系统的用户打开"打开或关闭windows功能"却发现里面 ...
最新文章
- 巨杉数据库:金融级数据库是怎样炼成的
- WIN32 _WIN32 _WIN64宏定义
- 【HNOI模拟By YMD】move
- 提高.NET性能的最佳实践
- 从零点五开始用Unity做半个2D战棋小游戏(二)
- 判断目录是否存在并创建mkdir
- python 知乎接口_Python采用Django制作简易的知乎日报API
- matlab之norm函数
- centos mysql jar 驱动包_JDBC连接MySQL的数据库
- iptables规则书写总结
- jsp连接mysql----------第一篇技术类文章
- 汇总一下那几个常用定理 高斯定理 泊松方程 亚阈值电流 跨导
- window 脚本文件.bat获取最高权限拷贝文件及c++调用.bat文件示例
- Carplay车载语音通讯测试(Vehicle Communication Terminals Test)
- Glove模型的原理与代码
- 例7.6有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。
- 谈IT大学生的竞争优势
- 为啥黑客都人手一台笔记本电脑?
- idea的下载、安装和破解
- android自定义app图标下载,安卓换图标
热门文章
- 《ASP.NET AJAX 应用剖析立即上手》推荐序!
- Allegro174版本新功能介绍之和172版本兼容设置
- Linux:解压bz2文件
- 电脑硬盘中文件丢失怎样才能找回?硬盘数据丢失能恢复吗
- Zotero使用GB/T7714 2005模板插入参考文献出现 作者名全部大写问题、et al.变成汉字‘等‘、多出参考文章的doi 问题 的解决方案
- 读书笔记:收敛性 ← 随机过程
- python语言初学
- 专访中科创达软件工程师龙辉:Idea赋予实践的演进之路
- HM二次开发 - 外部程序采用socket与HM实现通信
- 启动tomcat报错:StandardEngine[Catalina].StandardHost[localhost].StandardContext