故障排除#
重點在於實用的偵錯策略與典型失敗情境。
常見症狀與原因#
| 症狀 | 可能原因 |
|---|---|
| 未偵測到相機 | 缺少驅動程式、連接線問題、未安裝 SDK |
逾時於 RetrieveResult() | 觸發設定錯誤、無訊號、逾時時間不正確 |
| 掉格 | 頻寬受限、處理速度緩慢 |
| 擷取錯誤 | 網路不穩定、封包遺失 |
| 應用程式凍結 | 阻斷式呼叫、死結、佇列溢位 |
相機偵測問題#
若要解決相機偵測問題,您有兩種選擇:
-
檢查硬體:
- 確認連接線連接。
- 確認相機電源。
- 請嘗試使用另一個 USB 連接埠或乙太網路線。
-
檢查軟體:
- 請確保已安裝 pylon SDK。
- 請驗證驅動程式是否已載入。
- 使用 pylon Viewer 進行測試。
逾時問題#
常見原因#
- 已啟用 Trigger Mode 但無觸發訊號
- Exposure Time 過長
- 逾時值過低
偵錯策略#
停用觸發以進行測試:
擷取錯誤#
指示器#
常見原因#
- 網路壅塞 (GigE)
- 頻寬不足
- 連線不穩定
影像損壞與掉幀#
常見原因#
- 封包遺失 (GigE 相機)
- CPU 過載
- 緩衝區不足
緩解策略#
- 啟用巨型封包 (Jumbo Frames)。
- 增加
MaxNumBuffer. - 減少 ROI 或影格速率。
效能問題#
指示器#
- 延遲增加
- 增加佇列大小
- 掉格
偵錯策略#
- 量測影格速率。
- 監控 CPU 使用率。
- 檢查佇列大小。
執行緒問題#
指示器#
- 因封鎖造成的死結
queue.get() - 關閉時執行緒未停止
修復#
-
使用逾時:
-
使用停止訊號:
OpenCV GUI 問題#
指示器#
典型原因#
- 在工作執行緒中執行 GUI 函式
修復#
- 執行
cv2.imshow()僅限主執行緒。
網路問題 (GigE)#
指示器#
- 封包遺失
- 張數遺失
緩解策略#
- 使用專用網路介面卡 (NIC)
- 啟用巨型封包 (Jumbo Frames)。
- 調整封包延遲。
偵錯檢查清單#
第一步是識別哪一個層級造成此問題。
尋找下列問題指標:
- 是否已偵測到相機?
- pylon Viewer 是否正常運作?
- 您是否已正確設定
TriggerMode? - 頻寬是否充足?
- CPU 是否過載?
- 佇列是否阻塞?
記錄建議#
使用結構化記錄取代 print:
重點整理#
- 大多數問題都與設定或時序有關。
- 務必隔離硬體與軟體問題。
- 持續監控系統資源。
- 採用系統化的除錯方法。