最近开始使用CANoe来模拟CAN节点,碰到了rolling count 自增和checksum自动计算的问题。rolling cnt的实现还是简单的,例如使用on message实现:
on message IPB1
{
$IPB1_Rolling_counter ++;
}
但是checksum的逻辑在这里面怎么做不是非预期的,根本原因是on message的触发意味着CAN报文已经被发出来了,而不是我们以为的"提前算好"checksum再随报文发送出去。
网上查到了applILTxPending 这个函数就是专门为这个需求存在的,只是网上教程没有解释的很清楚,导致我调试花了一些时间,现在就就来讲讲如何使用的总结结论吧。
一、首先要会导入dbc,会新增节点并配置成自己想要的模拟节点
二、右键ECU节点后选择Open IL Configuration,对要操作的报文进行使能,默认是全部使能的
三、打开capl脚本,编写.can文件里的脚本