我正在编写CAPL脚本以自动化诊断服务 . 我已经阅读了一些大于8字节的DID . 直到8个字节,我可以正确捕获我的CAPL脚本中的数据,但是当数据大小超过8个字节时,我得到剩余字节的一些垃圾值00 .
我可以在CANoe Trace中看到完整的读取数据,但我无法在CAPL脚本中捕获它 . 如果有人有任何想法或解决方案,请与我分享 .
在Belo脚本中,问题是我可以正确地捕获值直到this.byte(7) . 但是对于this.byte(8)和this.byte(9)我读了00,尽管CANoe Trace中的实际值是0x54和0x66 . 所以这意味着我无法从CAN中读取CAPL中超过8个字节 .
我的脚本看起来像:
variables
{
//Please insert your code below this comment
byte test_num;
message DTOOL_to_UPA msg_tester;
mstimer readTimerDID_2001;
mstimer defaultSession;
byte readBuf2001[8];
}
// read request
on key 'd'
{
test_num = 0;
msg_tester.dlc = 8;
msg_tester.dir = tx;
msg_tester.can = 1;
settimer(defaultSession, 2000);
}
on timer defaultSession // Request DID: 1