圖像擷取與 I/O 控制#
透過 input line,您可以控制相機,例如在特定時間點觸發影像擷取。透過 output line,您可以檢索有關相機的資訊,例如影像擷取正在進行時。
資訊
本主題中的所有資訊均適用於所有 blaze 和 Smart blaze 相機型號。為求簡潔,文中以「blaze」統稱所有型號。
光耦合 I/O 線路#
blaze 相機提供一個光耦合輸入線路和一個光耦合輸出線路:
Line0已預先配置為相機的輸入線路。Line1已預先配置為相機的輸出線路。
您無法變更 I/O 線路的 Line Mode。
Opto-Coupled Input Line#
下圖顯示使用光耦合輸入線的典型電路:
輸入線連接至接腳 6。接腳 5 連接至接地端。
光耦合輸出線#
下圖顯示使用光耦合輸出線路的典型電路:
輸出線路連接至接腳 4。接腳 5 連接到接地。
電力需求#
Input Line#
| 電壓 | 描述 |
|---|---|
| 30 VDC | 絕對最大電壓。 絕不能超過此電壓。否則可能會損壞相機並使保固失效。 |
| 0–24 VDC | 安全運作範圍 |
| 0–1.0 VDC | 邏輯 0 |
| >2.2 VDC | 邏輯 1 |
- 最小電流:5 mA
- 典型電流:5–15 mA
響應時間#
- Typical response time (trigger to FrameActive): <300 µs
- 最大響應時間(從觸發到 FrameActive):500 µs
未實作信號消抖功能。因此,您必須確保輸入線路上的電氣信號乾淨(例如,透過使用 PLC 輸出或套用低通濾波器)。
輸出線#
| 電壓 | 描述 |
|---|---|
| 30 VDC | 絕對最大電壓 |
| 3.3–24 VDC | 安全運作範圍 |
- 最大電流:50 mA
- Leakage current: <60 µA
I/O 纜線#
Basler 建議使用 Power-I/O Cable M12, M, 8P/Open。該電纜文件包含 I/O 線路的引腳分配和顏色編碼。
功能與組態#
影像 DigitalIOControl 功能類別包含用於設定和監控 I/O 線路運作的各種功能。
Line Selector#
Line Selector 功能允許您選擇要設定的 I/O 線路。若要選擇線路,請將 LineSelector 參數設定為所需的 I/O 線路,例如 Line1。
Line Status#
若要確定 I/O 線路的狀態:
- 將
LineSelector參數設為Line0用於輸入線路或Line1用於輸出線路。 - 取得
LineStatus參數的值。
數值 false (0) 表示輪詢時線路狀態為低電位。數值 true (1) 表示輪詢時線路狀態為高電位。
Line Logic#
若要決定 I/O 線路的邏輯:
- 將
LineSelector參數設為Line0用於輸入線路或Line1用於輸出線路。 - 取得
LineLogic參數的值。
此參數為唯讀。
Line Source (Output Line Only)#
輸出線 Line1 可以透過 LineSource 參數設定以提供不同的信號。這使您能夠監控相機狀態或控制外部設備。
若要設定 Line Source:
- 將
LineSelector參數設為Line1. - 將
LineSource參數設為下列其中一個值:Off:該線路始終為低電位。UserOutput0:線路設定為UserOutputValue參數的值,來源為UserOutput0.FrameActive:訊號為 High ,此時相機正在擷取深度圖所需的所有子畫面。FrameTriggerWait:訊號為 High 當相機準備好接收對應觸發類型的觸發訊號時。
您可以使用 FrameActive 訊號可用於監控相機目前是否正在進行曝光。當第一個子畫面的圖像擷取開始時,訊號變為高電位,當最後一個子畫面的擷取結束時,訊號變為低電位。這也允許您使用 FrameActive 訊號來同步多台相機與外部裝置。
此外,如果您有使用閃光燈,您可以使用 FrameTriggerWait 訊號來尋找觸發閃光燈的最佳時機。
下圖說明了時序。
範例: 如果輸送帶上的物件移動到相機的視野中進行檢查,則在 FrameActive 訊號為高電位時,輸送帶不應移動,以避免產生運動假影。
如需更多資訊以及多相機運作的替代方法,請參閱 Working with Multiple Cameras。
Line Inverter#
影像 LineInverter 參數會反轉 I/O 線路的電氣訊號准位,亦即其 線路狀態 從高准位變為低准位,反之亦然。
若要啟用 Line Inverter:
- 將
LineSelector參數設定至所需的 I/O 線路。 - 將
LineInverter參數設為true以反轉所選 I/O 線路的電氣訊號准位,或者false以停用反轉功能。
範例: 如果輸入線路 Line0 被設定為觸發輸入來源,反轉訊號准位意味著觸發將發生在觸發訊號的下降緣,而不是上升緣。
對於輸出線路 Line1,所選輸出訊號的准位將會反轉。
User Output#
影像 UserOutput 參數可讓您手動控制輸出線路的狀態。僅提供單一使用者輸出。
若要設定使用者輸出狀態:
- 將
LineSelector參數設為Line1. - 將
LineSource參數設為UserOutput0. - 將
UserOutputSelector參數設為UserOutput0. - 將
UserOutputValue參數設為所需的值:true: Line status 為高電位 (1)。false: Line status 為低電位 (0)。
變更 UserOutputValue 參數將立即顯示在輸出線路上。
Free Run 與觸發操作#
相機可以在 free run 與 triggered mode 下運作。
在 free run 中,相機根據設定的影格速率(預設值或透過 AcquisitionFrameRate 參數指定的值)進行內部觸發。
在 Free Run 模式下,您可以使用 Precision Time Protocol 與 Synchronous Free Run 功能來同步多部相機的觸發。
在 觸發模式下,會使用外部觸發來源來觸發相機,例如透過 軟體觸發 或透過 硬體觸發 (使用輸入線路 Line0)。
觸發一律為 FrameTrigger,亦即它會在目前的 Operating Mode 下觸發單一影格的擷取。
Free Run 影像擷取#
若要啟用 free run 影像擷取:
- 將
TriggerSelector參數設為FrameStart. - 將
TriggerMode參數設為Off.
觸發式影像擷取#
資訊
新的觸發訊號將會被忽略,直到相機再次準備好接受觸發為止。兩個觸發訊號之間的最短時間取決於相機的 Operating Mode(即允許的最大幀率)、I/O 訊號的特性,以及處理 I/O 訊號所需的處理時間。您可以使用 FrameTriggerWait 訊號來確認相機何時準備好接收觸發訊號。
當相機偵測到 Overtrigger 時, LastError 參數將會顯示 error code 1.
提示
當使用觸發式影像擷取時,您可以啟用 Trigger Thermal Drift Stabilization 以維持量測準確度。此功能可讓相機在背景中持續擷取影像,從而防止觸發事件之間的溫度波動,確保結果一致且準確。
軟體觸發#
若要透過軟體觸發啟用圖像擷取:
- 將
TriggerSelector參數設為FrameStart. - 將
TriggerSource參數設為Software. - 將
TriggerMode參數設為On. - 使用以下方式觸發單張影像:
TriggerSoftware.
現在會擷取、處理單一深度圖,並將其傳送至用戶端軟體。
請確保在軟體觸發之前已啟動擷取,以便接收影像。
硬體觸發#
若要透過硬體觸發啟用圖像擷取:
- 將
TriggerSelector參數設為FrameStart. - 將
TriggerSource參數設為Line0. - 將
TriggerMode參數設為On.
影像會在上升沿時觸發Line0(若LineInverter參數已設定為false)或下降緣(若LineInverter參數設為true)觸發影像。影像經相機擷取並處理後,將傳送至主機電腦。
請確保在硬體觸發之前已啟動擷取,以便接收影像。