当我在CAN通信中使用扩展仲裁ID是发现总线监察文件中的CAN数据丢失



主要软件:
主要软件版本: 1.1
主要软件修正版本: N/A
次要软件: N/A

问题:
我在MAX中使用CAN总线监察器,配置了特定十六进制仲裁ID,来观察其下的帧数据流。但是我打开记录数据的文件却发现它除了文件头信息,没有保存任何CAN通信数据,我该如何修正这个错误?


解答:

NI-CAN 2.5.2这个驱动中,仲裁ID是以十进制格式进行配置的,所以即使你运用的是十六进制计数法,你还是需要为它配置合用的二进制ID。 并且当您是使用扩展型仲裁ID来配置CAN通信通道的优先级时,NI-CAN驱动默认将它设置在第30位的ID比特位中。即使有时ID辨识操作根本用不到第30位ID比特位,你还是需要在运用独立帧读取来检查总线通信状态时,将这个数位纳入考虑范围。

举个例子来说,如果您想要读取的CAN帧被赋予的ID是十六进制的“1”,总线监察器会将这个帧的ID记录为“1”。然后第30位的ID比特位会将它记录为“0x20000001”。如果将这个十六进制数转化为十进制数将会是“536870913”,所以对于十六进制的扩展仲裁ID“1”来说,其正确的十进制ID是“536870913”。

将新的十进制ID“536870913”输入选项对话框中的“Arb ID”一栏就能解决这个问题




相关链接: Drivers and Updates: NI-CAN


附件:





报告日期: 12/11/2007
最近更新: 08/30/2011
文档编号: 4GAAJ9QX