跳到主要內容

AI 驅動文件

您想了解什麼?

設定數字輸出邏輯

本指南將向您展示如何配置 OV20i 的數字輸出,以根據檢測結果控制外部裝置。該相機具有 2 個數字輸出,採用真/假邏輯操作,以觸發分揀機制、指示燈、警報或其他自動化裝置。

何時使用數字輸出: 自動分揀系統、合格/不合格指示燈、拒絕機制、警報系統、PLC 通訊或任何需要根據檢測結果觸發的外部裝置。

先決條件

  • OV20i 相機系統已設定並連線
  • 已配置檢測邏輯的活動配方
  • 要控制的外部裝置(可選用於測試)
  • 對數字 I/O 概念的基本理解

數字輸出規格

OV20i 提供 2 個可透過 M12 聯結器訪問的數字輸出:

輸出引腳編號線纜顏色功能
數字輸出 110紫色可配置輸出
數字輸出 211灰色/粉色可配置輸出
注意

數字輸出 (DO0 / DO1) 為 NPN 開漏(僅限電流下沉)。需要外部上拉或負載至 +V,輸出可以拉至 0 V(接地),但不能提供 24 V。

NPN 下沉輸出的工作原理

切換下面的按鈕以檢視數字輸出啟用時電流如何流經電路。

CameraFalseRelay+24V+24VDOGNDSystem GND

Status: OFF

Turn ON the digital output to sink current through the relay coil to ground.

操作邏輯:

  • True = 輸出開啟 (24V)
  • False = 輸出關閉 (0V)

步驟 1:訪問 Node-RED 編輯器

1.1 導航到 I/O 塊

  1. 在配方編輯器中開啟您的活動配方
  2. 點選 配置 I/O 或在麵包屑選單中選擇 I/O 塊 以進入 Node-RED 編輯器

1.2 驗證 Node-RED 介面

檢查點: 您應該看到左側有節點調色盤的 Node-RED 流編輯器。

步驟 2:新增數字輸出節點

2.1 定位輸出節點

  1. 在左側面板中找到 "輸出" 節點(概述部分)
  2. 將 "輸出" 節點拖到流畫布上
  3. 雙擊節點 進行配置

image.png

2.2 配置輸出設定

節點配置:

設定選項描述
輸出引腳DO0, DO1選擇要控制的物理輸出
初始狀態OFF, ON系統啟動時的起始狀態
名稱自定義文字可選的標識標籤

2.3 輸出配置步驟

  1. 選擇輸出引腳:
    • DO0 = 數字輸出 1(引腳 10,紫色線)
    • DO1 = 數字輸出 2(引腳 11,灰色/粉色線)
  2. 設定初始狀態:
    • OFF = 輸出在關閉狀態下啟動(推薦)
    • ON = 輸出在開啟狀態下啟動
  3. 命名節點:
    • 使用描述性名稱,如 "Reject_Signal" 或 "Pass_Light"
  4. 點選 "完成" 以儲存配置

步驟 3:將邏輯連線到輸出

3.1 基本合格/不合格輸出

對於簡單的合格/不合格指示:

  1. 新增 "最終合格/不合格輸出" 節點(如果尚未存在)
  2. 連線: 最終合格/不合格 → 輸出節點
  3. 結果: 當檢測透過時,輸出啟用

3.2 反向邏輯(故障訊號)

在檢測失敗時觸發輸出:

  1. 在透過/失敗和輸出之間新增“function”節點
  2. 配置function節點:
// Invert pass/fail signal - ensure boolean output
msg.payload = !msg.payload;
return msg;

  1. 連線: 最終透過/失敗 → Function → 輸出節點
  2. 結果: 當檢測失敗時,輸出啟用

3.3 從分類結果中自定義邏輯

使用分類或其他檢測資料時:

  1. 新增“function”節點 將結果轉換為布林值
  2. 為您的邏輯配置function:
// Convert classification result to boolean
// Example: Activate output for specific class
if (msg.payload.class === "Defective") {
msg.payload = true; // Turn output ON
} else {
msg.payload = false; // Turn output OFF
}
return msg;

  1. 連線: 資料來源 → Function → 輸出節點

3.4 布林轉換示例

對於不同的資料來源,始終轉換為布林值:

從置信度值:

// Activate if confidence below threshold
msg.payload = (msg.payload.confidence <0.8);
return msg;

從ROI結果:

// Activate if any ROI failed
msg.payload = msg.payload.roi_results.some(roi => !roi.pass);
return msg;

備註

輸出節點需要布林輸入(true/false)。在連線到輸出節點之前,始終確保您的邏輯產生布林值。

第4步:建立脈衝輸出(推薦)

4.1 為什麼使用脈衝輸出

推薦使用脈衝輸出,因為:

  • 提供清晰的訊號指示
  • 防止輸出無限期保持開啟
  • 更適合觸發外部裝置
  • 更容易排查訊號時序問題

4.2 新增觸發節點

  1. 從Function部分新增“trigger”節點
  2. 放置在 邏輯源和輸出節點之間
  3. 雙擊觸發節點 進行配置

4.3 配置觸發設定

脈衝配置:

設定推薦值描述
傳送True初始訊號傳送
然後等待500ms脈衝持續時間
然後傳送False延遲後的訊號
擴充套件延遲禁用不在新訊息到達時擴充套件

image.png

4.4 觸發配置步驟

  1. 第一個輸出:
    • 傳送: booleantrue
    • 這將開啟輸出
  2. 延遲設定:
    • 然後等待: 500 毫秒
    • 然後傳送: booleanfalse
    • 這將在延遲後關閉輸出
  3. 高階選項:
    • 如果新訊息到達,則擴充套件延遲: 未選中
    • 如果新訊息到達,則停止現有延遲: 選中
  4. 單擊“完成” 以儲存

數字輸出

Noderedflow

4.5 連線脈衝配置

按以下順序連線節點: 邏輯源 → 觸發 → 輸出節點

示例流程: 最終透過/失敗 → 觸發 → 輸出(DO0)

第 5 步:部署和測試配置

5.1 部署流程

  1. **點選“部署”**按鈕(右上角)
  2. 驗證部署成功訊息
  3. 檢查節點狀態指示燈

5.2 監控數字 I/O 狀態

使用內建的 I/O 監控螢幕:

  1. **在主介面中導航到“I/O 實時監控”**頁面
  2. 實時觀察輸出狀態
  3. **檢查“最後狀態變化”**時間戳

數字輸出在 I/O 實時監控頁面.png

數字 I/O 狀態螢幕顯示:

  • 當前輸出狀態(開/關)
  • 最後狀態變化時間戳
  • 實時狀態更新

5.3 測試輸出啟用

手動測試:

  1. 新增“注入”節點進行測試
  2. 配置注入節點:
    • 有效載荷: booleantrue
    • 名稱: "測試輸出"
  3. 連線: 注入 → 觸發 → 輸出
  4. 點選注入按鈕測試輸出
  5. 在 I/O 狀態螢幕中驗證輸出啟用

第 6 步:高階輸出配置

6.1 多輸出控制

同時控制兩個輸出:

  1. 為 DO0 和 DO1 新增單獨的輸出節點
  2. 將相同的邏輯源連線到兩個輸出
  3. 如有需要,使用不同的觸發延遲

6.2 條件輸出選擇

根據條件路由到不同的輸出:

  1. 從功能部分新增“開關”節點
  2. 配置路由規則:
// Route based on classification result
if (msg.payload.class === "Large") {
return [msg, null]; // Send to first output (DO0)
} else if (msg.payload.class === "Small") {
return [null, msg]; // Send to second output (DO1)
}
return [null, null]; // No output

  1. 將開關輸出連線到各自的輸出節點

6.3 延遲輸出序列

建立定時輸出序列:

  1. 新增多個觸發節點,設定不同的延遲
  2. 配置序列時序:
    • 第一個觸發:100ms 脈衝
    • 第二個觸發:500ms 延遲,然後 200ms 脈衝
  3. 串聯連線以實現順序啟用

第 7 步:整合示例

7.1 分揀系統整合

雙向分揀設定:

  • DO0(輸出 1): 好件輸送帶
  • DO1(輸出 2): 拒絕箱執行器
Final Pass/Fail → Switch Node → Trigger → DO0 (Pass)
→ Trigger → DO1 (Fail)

7.2 報警系統整合

多級報警系統:

  • DO0: 警告燈(輕微缺陷)
  • DO1: 報警喇叭(重大缺陷)
Classification Logic → Function (Check severity) → Appropriate Output

7.3 PLC 通訊

簡單的 PLC 握手:

  • DO0: 檢查完成訊號
  • DO1: 部件拒絕訊號
All Block Outputs → Format for PLC → Trigger → DO0
→ Reject Logic → Trigger → DO1

第 8 步:故障排除輸出問題

8.1 輸出未啟用

問題檢查解決方案
沒有輸出訊號節點連線驗證所有電纜是否連線
邏輯從未觸發輸入條件檢查透過/失敗邏輯配置
時序問題觸發設定調整脈衝持續時間
錯誤的引腳啟用輸出引腳選擇驗證 DO0/DO1 配置

8.2 使用 I/O 狀態進行故障排除

數字 I/O 螢幕有助於識別:

  1. 當前輸出狀態: 檢視輸出是否實際變化
  2. 最後狀態變化: 驗證輸出啟用的時間
  3. 狀態歷史: 跟蹤輸出行為隨時間的變化

使用 I/O 螢幕進行故障排除:

  • 輸出始終顯示 "OFF": 邏輯可能未觸發
  • 輸出始終顯示 "ON": 缺少脈衝配置
  • 沒有時間戳更新: 檢查 Node-RED 連線
  • 快速狀態變化: 邏輯可能觸發過於頻繁

8.3 外部裝置問題

問題原因解決方案
裝置無響應電壓不匹配驗證 24V 相容性
間歇性操作接線問題檢查 M12 聯結器接線
響應延遲外部裝置時序調整脈衝持續時間

第 9 步:測試和驗證

9.1 系統測試

系統地測試每個輸出:

測試預期結果狀態
手動觸發 DO0輸出 1 在脈衝持續時間內啟用
手動觸發 DO1輸出 2 在脈衝持續時間內啟用
透過條件正確的輸出啟用
失敗條件正確的輸出啟用
I/O 狀態更新時間戳顯示狀態變化

9.2 生產驗證

在部署到生產之前:

  1. 使用實際零件和檢查條件進行測試
  2. 驗證輸出時序符合外部裝置要求
  3. 確認電氣連線安全
  4. 記錄輸出分配以便維護

9.3 效能驗證

監控以下方面:

  • 響應時間: 檢查後輸出啟用延遲
  • 可靠性: 輸出行為隨時間的一致性
  • 時序準確性: 脈衝持續時間與配置匹配

成功!您的數字輸出已準備就緒

您的數字輸出系統現在可以:

  • 根據檢查結果控制外部裝置
  • 提供脈衝訊號以實現可靠觸發
  • 支援多種輸出配置以滿足複雜自動化需求
  • 與 PLC 和分揀系統整合以實現生產自動化
  • 透過內建 I/O 介面監控輸出狀態

持續維護

定期系統檢查

  • 監控 I/O 狀態螢幕以確保操作一致
  • 驗證輸出時序保持在規範範圍內
  • 檢查 M12 聯結器的電氣連線
  • 定期測試手動觸發以確保系統健康

故障排除資源

  • 使用 I/O 狀態螢幕進行實時診斷
  • 檢查 Node-RED 除錯面板以發現邏輯問題
  • 驗證外部裝置規格與輸出能力匹配
  • 記錄任何配置更改以備將來參考

下一步

在配置數字輸出後:

  1. 如有需要,設定數字輸入觸發器以實現外部控制
  2. 配置 PLC 通訊以實現整合自動化
  3. 實施安全聯鎖以適應生產環境
  4. 建立自動監控以確保系統健康

🔗 另請參閱