跳至內容
測試伺服器
開發伺服器

圖像擷取與 I/O 控制#

Basler blaze 相機配備兩個高速光耦合 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 線路的狀態:

  1. 將 LineSelector 參數設為 Line0 用於輸入線路或 Line1 用於輸出線路。
  2. 取得 LineStatus 參數的值。

數值 false (0) 表示輪詢時線路狀態為低電位。數值 true (1) 表示輪詢時線路狀態為高電位。

Line Logic#

若要決定 I/O 線路的邏輯:

  1. 將 LineSelector 參數設為 Line0 用於輸入線路或 Line1 用於輸出線路。
  2. 取得 LineLogic 參數的值。
    此參數為唯讀。

Line Source (Output Line Only)#

輸出線 Line1 可以透過 LineSource 參數設定以提供不同的信號。這使您能夠監控相機狀態或控制外部設備。

若要設定 Line Source:

  1. 將 LineSelector 參數設為 Line1.
  2. 將 LineSource 參數設為下列其中一個值:
    • Off:該線路始終為低電位。
    • UserOutput0:線路設定為 UserOutputValue 參數的值,來源為 UserOutput0.
    • FrameActive:訊號為 High ,此時相機正在擷取深度圖所需的所有子畫面。
    • FrameTriggerWait:訊號為 High 當相機準備好接收對應觸發類型的觸發訊號時。

您可以使用 FrameActive 訊號可用於監控相機目前是否正在進行曝光。當第一個子畫面的圖像擷取開始時,訊號變為高電位,當最後一個子畫面的擷取結束時,訊號變為低電位。這也允許您使用 FrameActive 訊號來同步多台相機與外部裝置。

此外,如果您有使用閃光燈,您可以使用 FrameTriggerWait 訊號來尋找觸發閃光燈的最佳時機。

下圖說明了時序。

Line Source 範例

範例: 如果輸送帶上的物件移動到相機的視野中進行檢查,則在 FrameActive 訊號為高電位時,輸送帶不應移動,以避免產生運動假影。

如需更多資訊以及多相機運作的替代方法,請參閱 Working with Multiple Cameras。

Line Inverter#

影像 LineInverter 參數會反轉 I/O 線路的電氣訊號准位,亦即其 線路狀態 從高准位變為低准位,反之亦然。

若要啟用 Line Inverter:

  1. 將 LineSelector 參數設定至所需的 I/O 線路。
  2. 將 LineInverter 參數設為 true 以反轉所選 I/O 線路的電氣訊號准位,或者 false 以停用反轉功能。

範例: 如果輸入線路 Line0 被設定為觸發輸入來源,反轉訊號准位意味著觸發將發生在觸發訊號的下降緣,而不是上升緣。

對於輸出線路 Line1,所選輸出訊號的准位將會反轉。

User Output#

影像 UserOutput 參數可讓您手動控制輸出線路的狀態。僅提供單一使用者輸出。

若要設定使用者輸出狀態:

  1. 將 LineSelector 參數設為 Line1.
  2. 將 LineSource 參數設為 UserOutput0.
  3. 將 UserOutputSelector 參數設為 UserOutput0.
  4. 將 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 影像擷取:

  1. 將 TriggerSelector 參數設為 FrameStart.
  2. 將 TriggerMode 參數設為 Off.

觸發式影像擷取#

資訊

新的觸發訊號將會被忽略,直到相機再次準備好接受觸發為止。兩個觸發訊號之間的最短時間取決於相機的 Operating Mode(即允許的最大幀率)、I/O 訊號的特性,以及處理 I/O 訊號所需的處理時間。您可以使用 FrameTriggerWait 訊號來確認相機何時準備好接收觸發訊號。

當相機偵測到 Overtrigger 時, LastError 參數將會顯示 error code 1.

提示

當使用觸發式影像擷取時,您可以啟用 Trigger Thermal Drift Stabilization 以維持量測準確度。此功能可讓相機在背景中持續擷取影像,從而防止觸發事件之間的溫度波動,確保結果一致且準確。

軟體觸發#

若要透過軟體觸發啟用圖像擷取:

  1. 將 TriggerSelector 參數設為 FrameStart.
  2. 將 TriggerSource 參數設為 Software.
  3. 將 TriggerMode 參數設為 On.
  4. 使用以下方式觸發單張影像: TriggerSoftware.
    現在會擷取、處理單一深度圖,並將其傳送至用戶端軟體。

請確保在軟體觸發之前已啟動擷取,以便接收影像。

硬體觸發#

若要透過硬體觸發啟用圖像擷取:

  1. 將 TriggerSelector 參數設為 FrameStart.
  2. 將 TriggerSource 參數設為 Line0.
  3. 將 TriggerMode 參數設為 On.
    影像會在上升沿時觸發 Line0 (若 LineInverter 參數已設定為 false)或下降緣(若 LineInverter 參數設為 true)觸發影像。影像經相機擷取並處理後,將傳送至主機電腦。

請確保在硬體觸發之前已啟動擷取,以便接收影像。