VisionPro學習筆記-CogToolBlock
CogToolBlock 編輯控件文檔
1. 工具概述
CogToolBlock 是康耐視 VisionPro 視覺軟件中的工具容器,用于將多個視覺工具和腳本組合成一個單一、可重用的處理單元。
該工具的主要價值在于實現視覺應用的模塊化封裝。通過將相關工具組合成邏輯塊,用戶可以簡化作業結構、促進代碼復用,并降低大型項目的管理和調試難度。CogToolBlock 編輯控件為此提供了直觀的圖形化操作環境。
2. 核心功能與特點
- 集成化開發環境:提供完整的圖形用戶界面,包括工具管理、輸入輸出終端配置、圖形顯示和控制按鈕,支持可視化搭建視覺處理流程。
- 工具容器與流程編排:能夠容納多種視覺工具(如定位、測量、檢測工具等)和腳本,并允許用戶通過拖放方式定義工具間的連接關系和執行順序。
- 靈活的輸入輸出終端:允許用戶自定義工具塊的輸入和輸出終端,使工具塊能夠像獨立工具一樣被調用,并與其他工具或外部系統交換數據。
- 內置調試與驗證功能:提供運行、循環運行、本地/浮動顯示窗口、驗證控制等功能,便于用戶測試工具塊性能并進行圖像驗證。
- 腳本支持:支持嵌入簡單或高級腳本,為用戶在工具流程中添加自定義邏輯提供了可能性。
3. 關鍵概念解析
理解 CogToolBlock 需要掌握以下核心概念:
| 概念 | 描述 |
|---|---|
| 工具塊 (ToolBlock) | 一個包含多個視覺工具和/或腳本的容器,作為一個整體單元被執行和管理。 |
| 輸入終端 (Input Terminals) | 工具塊的數據入口,用于接收外部傳入的數據,如圖像或參數。 |
| 輸出終端 (Output Terminals) | 工具塊的數據出口,用于將內部工具的處理結果傳遞到外部。 |
| 工具選項卡 (Tools) | 編輯界面中用于顯示和管理工具塊內所包含的具體視覺工具的區域。 |
| 輸入/輸出選項卡 (Inputs/Outputs) | 編輯界面中用于定義和配置工具塊所有輸入輸出終端的區域。 |
| 圖形選項卡 (Graphics) | 用于控制工具塊內各工具生成的圖形覆蓋(Graphics)是否在圖像上顯示的設置界面。 |
4. 配置與使用流程
4.1 界面布局與核心操作
CogToolBlock 編輯控件的頂部是一排控制按鈕,提供常用操作:
- 運行按鈕:執行工具塊內的所有視覺工具和腳本。
- 本地/浮動顯示按鈕:打開顯示窗口,查看工具塊運行后生成的圖像結果。
- 循環運行按鈕:使工具塊進入連續運行模式,用于實時監控或調試。
- 驗證控制按鈕:打開圖像驗證界面,用于建立和管理測試圖像庫,驗證工具塊的穩定性。
- 腳本按鈕:打開腳本編輯窗口,為工具塊添加自定義邏輯。
- 對象編輯器按鈕:打開一個更詳細的屬性編輯窗口,可訪問工具塊及其內部工具的所有屬性。
4.2 構建一個工具塊的基本步驟
- 添加工具:點擊“工具箱”按鈕,從視覺工具面板中選擇需要的工具(如CogPMAlignTool, CogCaliperTool等)并添加到Tools選項卡中。
- 定義輸入輸出:切換到Inputs/Outputs選項卡,使用“添加”按鈕創建工具塊所需的輸入和輸出終端。例如,添加一個“InputImage”終端作為輸入,添加一個“MeasurementResult”終端作為輸出。或者直接在
Tool頁面,在Input和Output端子通過右鍵添加也可。 - 內部連接:在Tools選項卡中,通過拖放方式將內部工具的輸入連接到適當的源。這可以是工具塊的輸入終端,也可以是另一個工具的輸出結果。
- 輸出結果:同樣在Tools選項卡中,將工具塊內最終需要輸出的結果,拖放連接到在Inputs/Outputs選項卡中定義的輸出終端上。
- 測試與調試:使用運行控制按鈕測試工具塊功能,并通過圖形選項卡和顯示窗口觀察處理結果。
5. 完整工作流程與數據流向
一個典型的 CogToolBlock 工作流程如下:
- 數據輸入:外部數據(例如,來自相機的圖像)通過工具塊預定義的輸入終端傳入。
- 內部工具執行:工具塊按照配置好的邏輯順序執行內部的各個視覺工具。前一個工具的輸出可以作為后一個工具的輸入,形成處理流水線。
- 結果生成與輸出:內部工具處理完成后,最終的結果被傳遞到工具塊的輸出終端。
- 結果利用:下游系統或其他工具可以從工具塊的輸出終端獲取結果,用于顯示、記錄或控制等目的。
6. 主要應用場景
- 復雜檢測流程的封裝:將包含多個步驟(如定位、測量、分類)的完整檢測流程封裝成一個簡單的工具塊,使主作業結構更清晰。
- 創建可重用模塊:將通用的處理邏輯(如“二維碼讀取模塊”、“標定模塊”)打包成工具塊,便于在不同的項目中重復使用,提高開發效率。
- 簡化團隊協作:資深工程師可以構建和測試好復雜的工具塊,其他成員只需調用該工具塊并連接輸入輸出,而無需關心內部實現細節。
- 集成自定義腳本邏輯:在工具流程中插入腳本,實現標準視覺工具無法完成的復雜業務邏輯或數據交互。
7. 注意事項與技巧
- 終端命名清晰:為工具塊的輸入輸出終端設置具有明確意義的名稱,便于在使用時準確理解其用途。
- 善用驗證功能:使用驗證控制來構建一個覆蓋各種場景的圖像測試庫,確保工具塊在遇到不同情況的圖像時都能穩定運行。
- 圖形管理:在Graphics選項卡中,可以統一啟用或禁用特定工具生成的圖形,避免最終顯示圖像過于雜亂,突出重點信息。
- 理解數據流:在連接工具時,務必確保數據類型匹配(例如,將圖像輸出連接到期望圖像輸入的工具)。編輯界面的拖放連接通常會進行類型檢查。
- 性能考量:雖然工具塊提供了便利性,但應注意其內部所有工具會順序執行。對于高性能要求的應用,仍需優化內部每個工具的效率。
8. 實踐
如圖所示,測量零件各部位寬度尺寸。
其中,除了把把模板匹配CogPMAlignTool和建立坐標系CogFixtureTool封裝成一個Block之外,考慮到要做多個測量并標簽。所以把測量工具CogCaliperTool和顯示CogCreateGraphLabelTool進行封裝,做成一個ToolBlock。

然后,對這個ToolBlock進行多次復制黏貼,然后轉換坐標系后輸出的圖像鏈接進這個測量并標簽工具塊。
再進入復制的工具塊,對測量工具CogCaliperTool進行修改。


這是最后看到的效果,節省了很多操作。


浙公網安備 33010602011771號