0 前言
关于CDD制作有疑问的小伙伴可以参考以下文章:
从零开始:CANDelaStudio之CDD制作(一)
从零开始:CANDelaStudio之CDD制作(二)
本文主要对日常在CDD中碰到的一些问题做一个补充。
1 CDD S3时间无法更改之谜
这里引用该文章先对S3参数做一个介绍:
S3server: ECU的定时参数,仅用于非默认会话模式,通过功能寻址将各ECU由默认会话切换为非默认会话时使用。在S3Server 时间内,如果ECU没有接收到任何诊断请求报文,则退出非默认会话模式,返回默认会话模式,通常取5000ms。
S3client: Tester的定时参数,客户端为将ECU保持在非默认会话状态,两个连续的0x3E TesterPresent请求报文的间隔时间。通常取4000ms。
以往CDD建好之后,很少会有改动,这次由于项目的特殊设置,需要对S3 Server time做一些改动,但实际去CDD中更改了之后,却发现在诊断配置台内时间没有任何的更改,更出现了一个莫名其妙的6666ms。经过后来的探究发现其实这里存在两个问题,接下来我们一一展开。
第一个就是6666ms是从哪里来的?由于当时我的S3 Client time为5000ms,我将 S3 Server time时间设置为2000,这触发了CDD中的默认定义,因为要求S3 client必须要比S3 Server小才可以,S3 server time>S3 client time 。6666ms是CDD中被触发bug后生成的数字。
这里解释清楚6666ms的由来,我按照CDD中规范的形式,修改参数,但仍然不能成功修改。这里尝试了很多方法,有的方法可以偶发地成功修改参数,而有的方法又只是徒劳无功的。
最后,经过不断的尝试与探究最终发现,时间无法改变是CDD交互层的问题,重新新建一个CDDT,以此来建立CDD,问题解决。
2 补充
下方链接是Vector提供的用于解决不同版本CANoe和CANdela兼容性问题,如果有需要的小伙伴可以自取。
Download | Vector
提前预祝各位大儿童,六一快乐。