背景:
如下图,ECU3是已经写好的节点,定周期发送0x99的报文;CAN1是外部实际的ECU,会定周期发送0x260这个ID的报文。自己创建了ECU2这个节点。
首先测试了on message的功能。代码如下:
运行后,从write 窗口看打印的信息,发现, 报文的方向都是0,即RX
但是从trace中看,明明是一个tx,一个rx啊。
分析:
对于此节点所识别到的rx还是tx,依据的标准应该是相对于ecu2这个节点来说的,而trace中提到的Dir,应该是对于整个canoe的盒子的硬件接口来说的。
验证:
在ECU2的CAPL文件中,自己发送一个信号,0x111, 同时捕获这个信号,看看其Dir,如下所示:
运行结果:
成功,通过ECU2发送的报文,捕获的时候Dir的值的确是不同。
结论:
总之就是这么回事。
在simulation setup中建立的模拟ecu,也是一个独立的ecu。自己发到内部模拟总线的报文,会认为是tx的。其他任何ECU(包括实际硬件连接的ECU,也包括此仿真测试环境的模拟ECU)所发出的报文,对于ECU2来说,自己都是接收方,使用 on message捕获后,其报文的Dir属性都是RX。