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号
浙公网安备 33010602011771号