错误 0xBFF6220C:网络中没有设备接收数据



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

问题: 我在使用NI-CAN通道API编程,现在CAN网络中没有设备响应我发出的数据帧。当我将数据帧发送到总线上时,一开始没有发生错误,知道第12次写入时出现了下面这个错误:

错误 -1074388468 出现在CAN Write (Multi-Chan Single-Samp 1D Dbl).vi

可能原因:
NI-CAN:(Hex 0xBFF6220C)CAN端口在发送数据帧,但是网络中没有设备响应。解决方法:运行端到端的范例时,应该先运行接收端范例;同时,检查您的CAN接线和连接点处是否正确。

我为何没有一开始就收到这个信息?

解答: 这个错误是由于CAN端口的输出队列溢出所导致的。当CAN总线上没有设备响应时,发送端会不断重复发送该数据帧,直到总线上有设备响应。如果此时您往这个端口写入了一个新的数据帧,那么该数据帧就会被放入输出队列中,而且只有当前面的数据帧被响应了之后,该数据帧才会被输出。因此,如果当前网络中一直没有设备响应的话,输出端的队列会由于写入了太多的新数据帧而溢出,从而产生错误。

如果您使用的是Series 2 CAN设备的话,而且您想早点获得这个错误信息,那么您可以使用Get Property 函数获得当前的输出端错误计数器。每次当要输出的数据帧没有响应时,该错误计数器就会自动加一。您可以编写程序检查该输出错误计数器,如果该计数器值超过了给定限值的话,就弹出一个错误信息提醒用户。

相关链接: Product Documentation: NI-CAN Hardware and Software Manual

附件:





报告日期: 10/06/2003
最近更新: 02/12/2014
文档编号: 325B00WH