备注 本自动翻译仅为阅读便利而提供。请参阅英文版本以获取最新和最准确的信息。

如需检测错误,请在程序框图中右键单击CAN节点并选择错误接线端。生成的错误输入错误输出接线端为错误处理提供了标准LabVIEW错误簇。

NI建议在CAN开发中使用错误接线端。对于某些CAN节点,错误接线端是必不可少的。例如,需要评估CAN输入节点的错误输出,以判断是否在指定的输入超时(ms)内接收到CAN帧。使用错误接线端的唯一成本是轻微的FPGA门资源占用,而不会影响性能。

发生错误时,请通过LabVIEW 解释错误帮助对话框查看错误代码说明。右键单击错误簇,从快捷菜单中选择解释错误,可获取关于该错误的更多信息。也可选择解释错误,并在对话框中输入返回的错误代码。

解释错误对话框中的错误说明适用于所有CompactRIO(C系列)模块。以下章节提供CAN模块的相关信息。

模块通信错误

错误代码:65536

当与CAN模块的通信发生严重错误时,会发生该错误。发生以下事件时可能导致严重错误:

  • 拔出CAN模块。
  • 在CompactRIO休眠线被置为有效时调用CAN节点。CAN收发器的休眠功能(收发器模式属性)不会发生该错误。
  • CompactRIO休眠线置为无效(约1秒)后,在CAN模块重新配置完成前调用CAN节点。
  • LabVIEW FPGA与CAN模块之间的数据传输无效。

模块错误

错误代码:65537

如果用户将其他CompactRIO模块插入为CAN模块配置的插槽,将发生该错误。

超时错误

错误代码:65538

该错误在以下情况下发生:

  • CAN输入在指定的输入超时(ms)内未收到有效的CAN帧。
  • CAN输出在指定的输出超时(ms)内未检测到输出FIFO中的可用元素。
  • I/O方法或I/O属性节点在指定的输出超时(ms)内未检测到输出FIFO中的可用元素。详见仲裁

等待或中止传输方法超时时不会返回该错误。这些方法在超时?接线端中指示超时。

数据溢出错误

错误代码65539

该错误来自CAN输入节点。这表明调用CAN输入的速度不够快,导致一个或多个CAN帧丢失。由于LabVIEW FPGA的执行速率远高于CAN帧的接收速度,因此只有在FPGA VI中引入人为延迟时才会出现此情况。为避免该错误,请至少每50微秒调用一次CAN输入。

未运行模式错误

错误代码:65540

当通信停止且所用CAN功能要求先启动通信时,将发生该错误。请参考上述文档,确定哪些功能需要通信已运行。

在使用该功能(CAN输出、I/O方法或I/O属性节点)前,请先于CAN端口上启动通信。使用以下任一方法启动通信:
  • 在模块配置中启用自动开始
  • 调用开始方法。

运行模式错误

错误代码65541

当通信已开启且所用CAN功能要求通讯停止时,会发生该错误。请参阅上述文档,确定通信运行时无法使用的功能。

使用该功能(通常为写入属性)前,请先停止CAN端口的通信。要设置初始属性,请在模块配置中禁用自动开始,然后设置所需属性,调用开始方法,继续执行应用程序剩余部分。如需在主应用程序循环中设置属性,请调用停止方法,设置相关属性,然后调用开始方法。

不支持的功能错误

错误代码65546

当指定模块不支持用于读取或写入的属性时,CAN属性节点将返回该错误。

错误帧过多警告

错误代码65547

当节点上检测到严重故障,导致错误帧突发时,将出现该警告。该警告表示,可能有一个或多个错误帧未报告给LabVIEW FPGA。所有有效的CAN数据帧都将被报告。

请验证网络上所有节点的布线、波特率和终端电阻是否正确,并确保提供适当的总线电源。