[Basler] 0xE1000014錯誤的總整理

0xE1000014錯誤的總整理

錯誤原因:
此錯誤的主要癥結點在於網路傳輸效率跟不上相機影像擷取速度
導致擷取到的影像來不及傳輸,全部塞在網路線上,直到相機Buffer無法被釋放,產生錯誤訊息
至於會影響網路傳輸效能的原因有幾種可能:


  1. 網路線材(Ethernet Cable)或接頭品質不佳
  2. Hub或Switch性能不足
  3. 網路晶片性能不足


提升網路效能的關鍵:

  • 變更網卡的超大型封包設定(Jumbo Frames)
        此設定通常Intel內建網路晶片都有支援,開啟後設定大小為4k與9k對於pia640-210gm的型號上沒有甚麼差別開啟這功能之所以能改善效能的原因在於,每張影像資料轉成封包後,進到網路晶片處理時需解開封包解析檔頭,當在解開封包時晶片會進行岔斷,由驅動接手處理封包內容,其他欲接收的封包進入緩衝區排隊,產生岔斷須由CPU下達命令,因此影像細切成太多個封包時,CPU的使用率將會提升,當CPU跟不上岔斷需求時,網路傳輸效能便會開始下降,導致封包遺失。

        使用大的封包能將封包數量降低,因此CPU負載也會下降,但大型封包的缺點為當傳輸距離過長時(超過線材規格),電氣訊號衰減,封包的內容的遭到雜訊影響,造成封包損壞無法解析,此時需重新傳遞封包反而會造成傳輸下降。

        此外開啟此設定後,Basler相機中的PocketSize需與上述設定大小匹配,否則效能不會提升。官網建議還可以調整Inter-Packet Delay 的大小(預設為0),但顧名思義它會影像最大FPS的張數,以及調整Recive Descriptors 接收緩衝區的大小,但越大越耗費記憶體。

  • 使用Intel pro 1000 系列晶片網卡
        此系列除了老舊的PCI網卡外,若主機板的網路晶片為I210或I350之型號,則皆為Pro 1000系列,但不支援pylon4.0以前的版本,此訊息來源自官網文章。

留言