我只是学习使用CAPL
上CANoe
,我需要创建一个网关,2个CAN总线之间的过滤器的消息。
对于第一部分,我需要创建一种方法来切换从总线1到总线2的传输,反之亦然(已完成)。
然后,我必须能够从任何总线中选择一条特定的消息,以将其发送到另一条总线。所有这些都必须通过面板以图形方式完成,并且我正在使用复选框进行第1部分的切换以及使用消息过滤器的下拉列表。
您是否知道从最近(例如10秒)开始获取总线中活动(Rx / Tx)消息列表的方法?(我知道我必须使用计时器来调用更新功能)
您可以通过定义on message
事件处理程序来订阅总线上的所有消息。每条消息都将调用它(取决于您指定的过滤条件)。您可以使用重新发送消息来创建网关output
。
例如,您的图形面板可以将变量设置为my_id
要从总线1中继到总线2的消息的ID。然后可以编写:
on message CAN1.*
{
message CAN2.* msg;
if((this.dir == rx) && (this.id == my_id)) {
msg = this;
output(msg);
}
}
this.dir == rx
如果要将同一消息从总线1中继到总线2,反之亦然,则需要附加条件。这样可以防止您无限期地重新发送相同的消息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句