教學課程

pylon:適用於即時與高效能應用的 GigE Vision 系統

針對 Windows 與 Linux 進行系統最佳化

在本教學中,您將了解如何在 pylon 中設定單相機與多相機架構,以達到應用程式的最高效能。重點在於 GigE Vision 架構的最佳化,涵蓋相機、線材、NIC 與交換器等要素。

快速入門:穩定串流的 5 個步驟

  1. 在 pylon Viewer 中開啟相機 → Packet Size 設為最大值、平衡 IPD,並儲存 User Set

  2. Windows / Linux:啟用 Jumbo Frames(MTU 8192-9014)

  3. 增加 NIC 緩衝區 / 描述元;將 Interrupt Moderation 調整為低延遲

  4. pylon:提高 Receive Thread PrioritySocket Buffer Size

  5. 測試:pylon Statistics → Failed BufferUnderrun 必須維持為 0

提示

完全發揮系統效能的必要條件

  • 線材:Cat-6 S/FTP 或 S/STP,且為經測試的工業級品質

  • 網路卡:Intel i210、i340、i350 或更新型號(搭配最新驅動程式)

  • 交換器:可管理 / 支援 PoE;Gigabit

  • 軟體:已安裝 pylon Viewer;具備管理員權限

  • 網路:相機使用專用 NIC,不與 WLAN / 網際網路並行

以下將說明可在 pylon 中設定哪些參數,以將視覺系統架構的效能提升至最高。

設定 GigE Vision 相機

對於 GigE Vision 相機,Bandwidth Manager 提供 Optimize 功能,可自動調整 Packet Size 與 Inter-Packet Delay(IPD)。這可讓多部相機透過單一介面卡有效運作,在使用交換器時尤其重要。在 pylon Viewer 中手動微調(Feature Tree → Transport Layer):

  • Packet Size(GevSCPSPacketSize):盡可能設大 → 效率最高

  • Inter-Packet Delay(GevSCPD):在封包之間加入短暫間隔 → 避免在多相機架構下發生封包遺失

  • Frame Transmission Delay(GevSCFTD):適用於同步觸發

  • Device Link Throughput Limit:限制每部相機的頻寬 → 避免衝突 

即時示範:相機參數的調整選項

本影片說明如何在 pylon Viewer 中設定上述相機參數。前往 Features All 樹狀結構,並選擇 Controlling the frame rate 作為 Common Task。您可在 Transport Layer 項目中找到這些與其他參數。

Windows 最佳化(NIC 與系統)

目標:降低延遲,避免影像流失。

NIC 驅動程式的建議設定:

  • Jumbo Packet / MTU:設為 9014 位元組(或可用的最大值)

  • Receive Buffers / Descriptors:提高,例如設為 2048

  • Interrupt Moderation Rate(ITR):高(3,600),或為低延遲而設為較低的數值

另外在 pylon 中:

  • 提高 GrabLoopThreadPriorityInternalGrabEngineThreadPriority(25-30)

成功判斷:
30-60 秒連續串流 →
Failed Buffer = 0 

即時示範:NIC 的調整選項

在 Windows PC 上,請確認您使用的是支援上述所有參數(Jumbo Frames、IMR、Receive Descriptors)的伺服器等級網路卡。在網路連線中以滑鼠右鍵按一下 GigE 介面卡,開啟「內容」,依序進入 >Configure 按鈕>、Advanced 索引標籤,並調整這些參數。影片也會帶您完成 pylon 與 pylon Viewer 中的設定。

Linux 最佳化(NIC 與系統)

目標:即使在高頻寬下也能維持穩定串流。

指令範例:

# 啟用 Jumbo Frames
sudo ifconfig eth0 mtu 8192

# 增加 ring buffer
sudo ethtool -G ethX rx 4096 tx 4096

# 中斷調節:低延遲
sudo ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 62 tx-usecs 62

# 增加 UDP buffer
sudo sysctl -w net.core.rmem_max=4096000

pylon 設定:

  • ReceiveThreadPriority:提高(例如> 50,最高 99)

  • Increase SocketBufferSize:提高(例如 ≥ 2048 KB) 

即時示範:GigE Vision 架構的調整選項

在此示範中,您將了解如何在 pylon 中設定各項參數,使系統以最佳且穩定的方式執行。

此架構包含一台安裝 Ubuntu 的 Linux PC、一台 GigE 相機、一張 NIC,以及 pylon 軟體。

前往 Features All 樹狀結構,並選擇 Checking whether the camera is losing image data 作為 Common Task。您可在 Stream Parameters 項目中找到這些參數。

多相機架構 

可透過單一交換器來運作多部相機,但需要進行資料序列化

選項 1 - Bandwidth Manager:

  • 按一下 Optimize → 自動分配 Packet Size、IPD 與 FTD

選項 2 - 手動調整:

  • IPD:封包持續時間 ×(N-1)→ 避免碰撞

  • FTD:定義每部相機的起始延遲,以利同步觸發

目標:所有串流皆穩定執行,且無 failed buffers。 

即時示範:多相機系統的調整選項

此處說明如何在 pylon Viewer 與 pylon Bandwidth Manager 中,針對兩台相機與一台非管理型交換器完成設定,使所有相機都能以可用的最大頻寬來傳輸影像。

前往 Features All 樹狀結構,並選擇 Controlling the frame rate 作為 Common Task。相機可在 Transport Layer 項目中自動設定。

疑難排解&與成功監控

使用 pylon Statistics 可立即找出瓶頸:

  • Failed Buffer Count:影格中至少遺失一個封包

  • Buffer Underrun Count:可用緩衝區不足

常見錯誤&與解決方法:

  • 0xE1000014(buffer incomplete):調整 IPD 或 Packet Size

  • 0xE1000016(control channel disconnected):檢查線材 / NIC / 交換器

  • Failed Buffer 過多:增加 UDP Buffer 或 SocketBufferSize

只要以滑鼠右鍵按一下參數(位於畫面右側的 Features 下方),即可開啟包含詳細說明與原始碼片段的產品文件。即使沒有網際網路連線,也可隨時從 pylon Viewer 存取。

Basler 產品使用手冊

經過最佳化的 GigE Vision 系統

GigE Vision 系統的效能與可靠性,總是取決於多個層面是否能以最佳化方式相互配合。

  • 穩健的硬體:使用經過測試的工業級元件,例如高品質線材高效能網路卡以及適用的交換器,都是穩定資料傳輸的基礎。

  • 正確設定相機參數:盡可能大的 Packet Size、合適的 Inter-Packet Delay(IPD),以及在需要時設定 Frame Transmission Delay(FTD),可確保高效率且無封包遺失的影像傳輸,即使在多相機架構下也是如此。

  • 最佳化的 pylon 與系統設定:適當調整 Buffer Size、提高 Thread Priority,以及正確設定網路參數(例如 Jumbo Frames、Socket Buffer Size),可確保您的電腦可靠處理高資料率。

若同時兼顧以上三個面向,您以 pylon 為基礎的 GigE Vision 系統無論在 WindowsLinux 下,都能以最高穩定性、最低延遲與充裕的效能餘裕運作。

GigE Vision 系統適用產品

想要實作類似的解決方案嗎?以下產品可提供協助。

‍您需要什麼支援?

我們樂意提供產品選擇方面的建議,協助您為應用找到合適的方案。