我是 CANoe 的新手,也是 CAPL 语言的新手。我想知道如何在 CAN 1 上定期(100 毫秒)发送一条消息(每次发送时在有效负载中增加一个字节,即消息计数器),在 CAN2 上接收此消息,当它自动收到时,应发送响应,将接收到的消息计数器作为有效负载中的一个字节。
问问题
5355 次
1 回答
1
在 CANoe 中,请点击F1进入指南,然后浏览章节CAPL Functions
并通读。这将帮助您理解以下原则。
为了定期发送消息,您需要message
在脚本块中声明一个变量类型variables
和一个计时器。CAN 关联通常在 *.dbc 文件中完成,但您甚至可以在 CAPL 脚本中配置 CAN 总线。
variables {
message 0xA m1;
// 0xA is the message ID from your *.dbc can database used in the simulation
timer timer100;
}
您想设置计时器,例如在模拟开始时,然后在计时器回调中输出您的消息,如下所示:
on start {
timer100.set(100);
}
on timer timer100 {
// reset timer
timer100.set(100);
// do stuff to your message content
// for instance m1.signalA = 0x01;
// ...
output(m1) // send m1 on CAN bus
}
您还想在阅读消息时做一些事情,然后做类似的事情
on message m2 {
// ...
}
您可能想先自己尝试一下,然后可能会更新您的问题以更准确。现在,感觉就像你并没有真正付出任何努力。
于 2018-06-20T07:24:58.693 回答