影像擷取與 I/O 控制#
Input Line 允許您控制相機,例如在特定時間點觸發影像擷取。Output Line 允許您擷取關於相機的資訊,例如影像擷取正在進行時。
資訊
本主題中的所有資訊均適用於所有 blaze 與 Smart blaze 相機型號。為求簡潔,文中以 "blaze" 統稱所有型號。
光耦合 I/O 線路#
blaze 相機提供一個光耦合輸入線路和一個光耦合輸出線路:
Line0預先設定為相機的輸入線路。Line1預先設定為相機的輸出線路。
您無法變更 I/O Line 的 Line Mode。
光學耦合 Input Line#
下圖顯示使用光耦合 Input Line 的典型電路:
Input Line 連接到接腳 6。接腳 5 連接到接地端。
光學耦合 Output Line#
下圖顯示使用光耦合輸出線路的典型電路:
輸出線路連接至接腳 4。接腳 5 連接至接地。
Electrical Requirements#
Input Line#
| 電壓 | 描述 |
|---|---|
| 30 VDC | 絕對最大電壓。 絕不能超過此電壓。這樣做可能會損壞相機並使保固失效。 |
| 0–24 VDC | 安全操作範圍 |
| 0–1.0 VDC | Logical 0 |
| >2.2 VDC | Logical 1 |
- 最小電流:5 mA
- 典型電流:5–15 mA
響應時間#
- Typical response time (trigger to FrameActive): <300 µs
- 最大響應時間(從觸發到 FrameActive):500 µs
未實作信號去彈跳(Debouncing)。因此,您必須確保輸入線路上的電氣信號乾淨(例如透過使用 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參數中選擇性地指定 HTML 記錄檔 (*.html) 的路徑與檔名。
數值 false (0) 表示輪詢時的 Line Status 為低電平。數值 true (1) 表示輪詢時的 Line Status 為高電平。
Line Logic#
若要決定 I/O 線路的邏輯:
- 將相機中的
LineSelector參數設為Line0適用於輸入線路,或Line1適用於輸出線路。 - 取得
LineLogic參數中選擇性地指定 HTML 記錄檔 (*.html) 的路徑與檔名。
此參數為唯讀。
Line Source (僅限 Output Line)#
Output Line Line1 透過 LineSource 參數進行設定,以提供不同的信號。這可讓您監控相機的狀態或控制外部裝置。
若要設定 Line Source:
- 將相機中的
LineSelector參數設為Line1. - 將相機中的
LineSource參數設定為以下值之一:Off:此線路始終為低電平。UserOutput0:該線路設定為UserOutputValue參數的值,屬於UserOutput0.FrameActive:此訊號為 高 ,此時相機正在擷取深度圖所需的所有子影格。FrameTriggerWait:此訊號為 高 ,此時相機已準備好接收對應觸發類型的觸發訊號。
您可以使用 FrameActive 訊號可用於監控相機目前是否正在進行曝光。當第一個子影格的影像擷取開始時,訊號會變為高電位,而當最後一個子影格的擷取結束時,訊號會變為低電位。這也允許您使用 FrameActive 訊號來同步多台相機與外部裝置。
此外,如果您有使用閃光燈,可以使用 FrameTriggerWait 訊號來尋找觸發閃光燈的最佳時機。
下圖說明了時序。
範例: 如果輸送帶上的物件移動到相機的視野中進行檢查,當 FrameActive 訊號保持高電位以避免動態假影。
如需更多資訊以及多相機操作的替代方法,請參閱Working with Multiple Cameras。
Line Inverter#
當 LineInverter 參數會反相 I/O 線路的電氣信號準位,即將其 線路狀態 從高電平變為低電平,反之亦然。
若要啟用 Line Inverter:
- 將相機中的
LineSelector參數至所需的 I/O 線路。 - 將相機中的
LineInverter參數設為true以反轉所選 I/O 線路的電子訊號准位,或false以停用反轉功能。
範例: 如果輸入線 Line0 被設定為 Trigger Source,對訊號準位進行反相意味著觸發將發生在觸發訊號的下降緣,而不是上升緣。
對於輸出線 Line1,所選輸出訊號的準位會被反相。
User Output#
當 UserOutput 參數可讓您手動控制輸出線路的狀態。僅提供單一使用者輸出。
若要設定使用者輸出狀態:
- 將相機中的
LineSelector參數設為Line1. - 將相機中的
LineSource參數設為UserOutput0. - 將相機中的
UserOutputSelector參數設為UserOutput0. - 將相機中的
UserOutputValue參數設為所需的值:true:Line Status 為高電位 (1)。false:Line Status 為低電位 (0)。
變更 UserOutputValue 參數將會立即顯示在輸出線路上。
自由執行與觸發運作#
相機可以在 free run 和 triggered mode 下運行。
在 free run 下,相機會根據設定的幀率(預設值或透過 AcquisitionFrameRate 參數指定的數值)進行內部觸發。
在 free run 模式下,您可以使用 Precision Time Protocol 與 Synchronous Free Run 功能來同步多台相機的觸發。
在 triggered mode中,會使用外部 Trigger Source 來觸發相機,例如透過 software trigger 或透過 hardware trigger (使用輸入線 Line0)。
觸發一向是 FrameTrigger,亦即它會在目前的 Operating Mode 下觸發單一畫面的擷取。
自由執行影像擷取#
若要啟用 free run 影像擷取:
- 將相機中的
TriggerSelector參數設為FrameStart. - 將相機中的
TriggerMode參數設為Off.
觸發式影像擷取#
資訊
新的觸發訊號將會被忽略,直到相機再次準備好接收觸發為止。兩個觸發訊號之間的最小時間取決於相機的 Operating Mode(亦即允許的最大影格率)、I/O 訊號的特性,以及處理 I/O 訊號所需的處理時間。您可以使用 FrameTriggerWait 訊號來了解相機何時準備好接收觸發訊號。
當相機偵測到逾時觸發 (overtrigger) 時, LastError 參數將會顯示 錯誤代碼 1.
提示
當使用觸發式影像擷取時,您可以啟用 Trigger Thermal Drift Stabilization 以維持量測準確度。此功能可讓相機在背景持續擷取影像,從而防止觸發事件之間的溫度波動,以確保結果一致且準確。
軟體觸發#
若要啟用透過 software trigger 進行的影像擷取:
- 將相機中的
TriggerSelector參數設為FrameStart. - 將相機中的
TriggerSource參數設為Software. - 將相機中的
TriggerMode參數設為On. - 使用以下方式觸發單一畫面:
TriggerSoftware.
現在會擷取、處理單一深度圖並傳送至客戶端軟體。
請確保在 software trigger 之前啟動擷取,以便接收影像。
硬體觸發#
若要啟用透過 hardware trigger 進行的影像擷取:
- 將相機中的
TriggerSelector參數設為FrameStart. - 將相機中的
TriggerSource參數設為Line0. - 將相機中的
TriggerMode參數設為On.
影像會在以下時間點觸發:上升緣Line0(如果LineInverter參數設為false)或下降緣(如果LineInverter為true).影像經由相機擷取並處理後,隨即傳送至主電腦。
請確保在硬體觸發之前已啟動擷取,以便接收影像。