跳至內容
測試伺服器
開發伺服器

緩衝區擷取不完整:錯誤 3774873620 GX 狀態 0xe1000014#

這個錯誤相當常見,但通常可以快速修正。若要修正此錯誤,請依照下列步驟操作:

  1. 將 Packet Size 調整為 1500。
  2. 增加數值,直到出現上述錯誤。
  3. 將數值調降至穩定值。

這不會影響影格率,但能提升資料傳輸的穩定性與效率。

相機上的 "Packet Size" 等同於網路卡上的 "Frames" 或 "MTU"。Jumbo Frames 是指大於 1500 bytes 的封包。在過去,

  • 10BaseT 乙太網路支援每個封包最高 576 bytes,
  • 100BaseT 支援每個封包 1500 bytes,而
  • Gigabit 乙太網路理論上支援每個封包最高 16000 bytes。

其好處在於,封包較大時,CPU 需要解包的封包數量較少,因此 CPU 負載較低。

但常見的問題是,不同的網路介面卡 (NIC) 與交換器支援不同的封包大小,且品質往往不盡相同。因此,尋找完美的封包大小取決於系統本身。

  • 如果封包大小太小,交換器或 NIC 內建的緩衝區可能會不堪負荷,導致封包遺失。
  • 如果封包大小太大,交換器或 NIC 可能不支援並會丟棄封包。

無論哪種情況,當封包遺失時,Basler 的驅動程式會偵測到並要求相機重新傳送封包。但如果問題嚴重,甚至連這樣也無法成功,封包就會永久遺失。這會導致 "Buffer incompletely grabbed - 3774873620 GX status 0xe1000014" 錯誤。

通常,當處理自然包含大量資料的大型影像時,約 500 的封包大小會太小。而且我們發現,除了我們的相機之外,沒有多少裝置支援 16000 bytes 的封包。因此,從 1500 開始通常是不錯的做法。如果您發現 CPU 負載高於您的預期,您可以將其調高。

其他提示:

  • 在 pylon API 中,我們提供了一些函式來檢查統計資料,例如遺失的封包數、重新傳送的封包數等。監控這些資料非常方便。
  • 您也可以啟用相機中的 AutoPacketSize 參數,它會嘗試自行協調出一個可正常運作的封包大小。

返回知識文章