跳转到内容
STAGING SERVER
DEVELOPMENT SERVER

缓冲区采集不完整:错误 3774873620 GX 状态 0xe1000014#

此错误非常常见,但通常可以很快得到纠正。要纠正该错误,请按以下步骤操作:

  1. 将数据包大小调整为 1500。
  2. 增大该值,直到您看到前面提到的错误。
  3. 将该值降低至稳定值。

这不会影响帧率,但会提高数据传输的稳定性和效率。

相机上的“Packet Size”与网卡上的“Frames”或“MTU”同义。巨型帧是指大于 1500 字节的数据包。历史上,

  • 10BaseT 以太网每包支持高达 576 字节,
  • 100BaseT 支持每包 1500 字节,并且
  • 千兆以太网理论上每包支持高达 16000 字节。

这样做的好处是,由于数据包更大,CPU 需要解包的数据包更少,因此 CPU 负载更低。

但常见的问题是,不同的网卡(NIC)和交换机支持不同的数据包大小,而且通常质量也不同。因此,找到完美的数据包大小取决于系统。

  • 如果数据包大小太小,交换机或网卡内置的缓冲区可能会被淹没,从而导致数据包丢失。
  • 如果数据包太大,交换机或网卡可能不支持并会丢弃该数据包。

无论哪种情况,当数据包丢失时,Basler 驱动程序都会检测到这一点并要求相机重新发送数据包。但如果问题严重,即使这样也无法成功,数据包将永远丢失。这会导致“Buffer incompletely grabbed - 3774873620 GX status 0xe1000014”错误。

通常,在处理本质上包含大量数据的大型图像时,~500 的数据包大小太小。而且我们看到,除了我们的相机之外,没有多少设备支持 16000 字节的数据包。因此,从 1500 开始通常是一个很好的方法。如果您发现 CPU 负载高于您的预期,您可以增大它。

其他提示:

  • 在 pylon API 中,我们拥有用于检查统计信息的函数,例如丢弃的数据包数、重新发送的数据包数等。监控这些数据非常方便。
  • 您还可以在相机中启用 AutoPacketSize 参数,它将尝试自行协商出正常工作的数据包大小。

返回知识库文章