GenICam 是什麼?
GenICam(Generic Interface for Cameras)是 EMVA(European Machine Vision Association,歐洲機器視覺協會) 於 2006 年制定的工業相機通用介面標準。
核心目標:讓不同廠牌的工業相機可用統一軟體 API 控制。
為什麼需要 GenICam?
過去(2006 前):每家工業相機廠商有自己的 SDK 與介面 → 軟體開發人員要為每個廠牌寫一套程式。
GenICam 之後:
- 一次寫好,跨廠牌相機可用 — 軟體不需修改
- 更換相機不用改程式 — 換 Basler → 換 Sony 只換驅動
- 整合複雜系統省時 — 多廠牌混合場景
GenICam 4 大模組
| 模組 | 全名 | 用途 |
|---|---|---|
| GenAPI | Generic Programming Interface | 統一相機參數控制 API(曝光、增益、解析度) |
| GenTL | Generic Transport Layer | 統一傳輸層 producer/consumer 介面(GigE / USB3 / CoaXPress 等) |
| SFNC | Standard Features Naming Convention | 統一參數命名(如 ExposureTime、PixelFormat) |
| GenCP | Generic Control Protocol | 通用控制協定(讀寫 register)— 僅 USB3 Vision / CoaXPress 採用;GigE Vision 走自己的 GVCP(GigE Vision Control Protocol) |
軟體呼叫順序:Application → SDK → GenAPI(描述參數)→ GenTL Producer(傳輸層抽象)→ 底層控制協定(GigE Vision = GVCP / USB3 Vision = GenCP / CoaXPress = GenCP over CXP)→ 相機
注意:GenCP 並非通用層 — 它只在 USB3 Vision、CoaXPress 等較新介面使用;GigE Vision 採用自家 GVCP(不經 GenCP)。
GenICam-Compliant 介面標準
GenICam 不是傳輸協定,而是「介面標準」。基於 GenICam 的實際傳輸協定:
| 介面 | 速度 | 距離 | 應用 |
|---|---|---|---|
| GigE Vision | 1 Gbps(10GigE Vision 為 10 Gbps 選配) | 100 m | 一般工業視覺最普及 |
| USB3 Vision | 5 Gbps | 5 m | 桌面 / 緊湊設備 |
| CoaXPress | 6-12 Gbps | 100+ m | 高速 / 高解析應用 |
| Camera Link | 2-7 Gbps | 10 m | 老式高速應用(被 CoaXPress 取代) |
Cognex 跟 GenICam 的關係
Cognex 機型支援 GenICam:
- VisionPro 軟體 — 支援 GenICam-compliant 第三方相機(透過 frame grabber)
- In-Sight 智慧相機 — 本身內建處理器,不需要 GenICam(一體化方案)
- DataMan — 同上,內建處理
何時需要 GenICam?
- 高速 / 高解析應用,需配工業相機 + frame grabber + VisionPro 軟體
- 多攝機同步系統(如 360° 環視檢測)
- 客製化 PC-based 視覺系統
何時不需要 GenICam?
- 用 Cognex In-Sight 智慧相機(一機到位)
- 用 DataMan 條碼讀取器
工程師常見問題
Q1:In-Sight 為何不直接用 GenICam?
A:In-Sight 是智慧相機(相機 + 處理器一體),不需通用介面 — 直接內建演算法。Cognex 提供 SDK / EasyBuilder UI 控制。GenICam 是「外接相機 + PC」場景的需求。
Q2:GenICam vs Camera Link 差別?
A:
- GenICam = 介面標準(軟體 API)
- Camera Link = 傳輸協定(硬體線)
GenICam 可跑在 Camera Link、GigE、USB3、CoaXPress 等多種底層。Camera Link 是 GenICam 4 大底層之一。
Q3:GenICam 與 OPC UA 差別?
A:
- GenICam = 相機控制(捕獲影像、調參數)
- OPC UA = 工業設備通訊(PLC、MES 整合)
機器視覺系統可能同時用兩者:GenICam 控相機,OPC UA 把結果傳給 MES。
Q4:開源 OpenCV 支援 GenICam 嗎?
A:部分支援。OpenCV 主要透過 GenICam GenTL 介面接工業相機,但功能簡陋。工業正式應用 建議用 Cognex VisionPro 或 廠商 SDK,OpenCV 適合學術 / POC。
想整合 GenICam 相機?
VSK 提供完整 PC-based 視覺整合:
- 相機選型 — 工業 GenICam 相機(Sony / Basler / FLIR)+ VisionPro 軟體
- frame grabber — 高速 CoaXPress / Camera Link 卡選型
- 軟體諮詢 — VisionPro 應用評估與整合協助(複雜客製化可介紹合作整合商)
請告訴 VSK 您的應用需求(速度 / 解析度 / 整合方式),VSK 工程師評估後會盡快與您聯繫。
