工具块toolBlock与工具组toolGroup特点1.使项目结构更清晰2.可以使用脚本3.toolBlock可以插入自定义类型的输入输出 toolGroup无法自定义4.所以在选择工具的容器时应尽量选择toolBlock其对输入输出、数据链接、数据修改等方便直观。toolBlock自定义输出输入参数设置系统类型c#常用内置数据类型VP类型VP常用内置数据类型浏览不常用数据类型使用不常用数据类型1.直接拖动绑定2.查看帮助文档确定类型所在命名空间(1)当前类的命名空间(2)类中的成员 属性 方法 字段 事件(3通过关键字搜索其他VP类型4 点击(1) 当前命名空间的包含所有类点击2 查看当前类的成员详细信息block使用流程: pma和blob 个数对比案例1添加输出相源2.添加block工具 修改名字 添加输入相源1.双击进入block工具 添加Blob工具 链接输入相源1.重复上述操作 完成另一个 模板匹配 工具1.点击输入/输出 或者之间拖拽到【Outputs】 设置blob_count1.PMA同上利用分析工具比较 两个结果的个数大小toolBlcok工具文件保存与打开toolBlcok工具文件打开新建toolBlock工具 然后打开对应文件toolBlcok脚本脚本特点扩展 QuickBuild 的功能1.根据其他工具的运行结果有条件的运行视觉工具2.对视觉工具的执行结果进行附加计算3.创建或定制可重复利用的工具复杂脚本解析代码结构与toolGroup基本一致区别以下几点1.动态定义toolBlock的输入输出终端2. 能够访问当前工具块所包含工具的所有属性与方法。3.推荐直接使用复杂脚本toolBlcok脚本创建流程1.每一个toolBlcok 都有一个脚本如果创建错脚本 可以先删除 再次创建1.案例给 block 输出输入参数赋值2.案例查看模板匹配是否成功3.案例 利用label赋值 并且显示4案例切换不同的颜色的CogCreateGraphicLabelTool显示PMA分数1.未启用的工具 使用run方法 执行工具2.runTool方法 默认执行已启用的工具5案例工具运行状态#region namespace importsusing System;using System.Collections;using System.Drawing;using System.IO;using System.Windows.Forms;using Cognex.VisionPro;using Cognex.VisionPro.ToolBlock;using Cognex.VisionPro3D;using Cognex.VisionPro.PMAlign;#endregionpublic class CogToolBlockAdvancedScript : CogToolBlockAdvancedScriptBase{#region Private Member Variablesprivate Cognex.VisionPro.ToolBlock.CogToolBlock mToolBlock;#endregionCogGraphicLabel cc new CogGraphicLabel();public override bool GroupRun(ref string message, ref CogToolResultConstants result){foreach(ICogTool tool in mToolBlock.Tools){ //以集合的方式统一运行工具// mToolBlock.RunTool(tool, ref message, ref result);//Run 单独运行某个工具tool.Run();if (tool.RunStatus.Result CogToolResultConstants.Accept){//控制vp运行工具后显示内容message 工具运行成功123;//记录当前工具运行状态result CogToolResultConstants.Accept;}//工具运行异常else if (tool.RunStatus.Result CogToolResultConstants.Error){message 工具运行错误tool.Name;result CogToolResultConstants.Error;cc.SetXYText(100, 100, message);return false;}}// 所有工具无错误返回成功message 所有工具运行成功;cc.SetXYText(100, 100, message);//所有工具成功执行后 result 代表block的状态result CogToolResultConstants.Accept;return false;}public override void ModifyLastRunRecord(Cognex.VisionPro.ICogRecord lastRecord){mToolBlock.AddGraphicToRunRecord(cc, lastRecord, CogPMAlignTool1.InputImage, );}#endregion作业1显示有胶无胶作业2:线序识别作业3:密封条胶塞颜色识别
机器视觉6
工具块toolBlock与工具组toolGroup特点1.使项目结构更清晰2.可以使用脚本3.toolBlock可以插入自定义类型的输入输出 toolGroup无法自定义4.所以在选择工具的容器时应尽量选择toolBlock其对输入输出、数据链接、数据修改等方便直观。toolBlock自定义输出输入参数设置系统类型c#常用内置数据类型VP类型VP常用内置数据类型浏览不常用数据类型使用不常用数据类型1.直接拖动绑定2.查看帮助文档确定类型所在命名空间(1)当前类的命名空间(2)类中的成员 属性 方法 字段 事件(3通过关键字搜索其他VP类型4 点击(1) 当前命名空间的包含所有类点击2 查看当前类的成员详细信息block使用流程: pma和blob 个数对比案例1添加输出相源2.添加block工具 修改名字 添加输入相源1.双击进入block工具 添加Blob工具 链接输入相源1.重复上述操作 完成另一个 模板匹配 工具1.点击输入/输出 或者之间拖拽到【Outputs】 设置blob_count1.PMA同上利用分析工具比较 两个结果的个数大小toolBlcok工具文件保存与打开toolBlcok工具文件打开新建toolBlock工具 然后打开对应文件toolBlcok脚本脚本特点扩展 QuickBuild 的功能1.根据其他工具的运行结果有条件的运行视觉工具2.对视觉工具的执行结果进行附加计算3.创建或定制可重复利用的工具复杂脚本解析代码结构与toolGroup基本一致区别以下几点1.动态定义toolBlock的输入输出终端2. 能够访问当前工具块所包含工具的所有属性与方法。3.推荐直接使用复杂脚本toolBlcok脚本创建流程1.每一个toolBlcok 都有一个脚本如果创建错脚本 可以先删除 再次创建1.案例给 block 输出输入参数赋值2.案例查看模板匹配是否成功3.案例 利用label赋值 并且显示4案例切换不同的颜色的CogCreateGraphicLabelTool显示PMA分数1.未启用的工具 使用run方法 执行工具2.runTool方法 默认执行已启用的工具5案例工具运行状态#region namespace importsusing System;using System.Collections;using System.Drawing;using System.IO;using System.Windows.Forms;using Cognex.VisionPro;using Cognex.VisionPro.ToolBlock;using Cognex.VisionPro3D;using Cognex.VisionPro.PMAlign;#endregionpublic class CogToolBlockAdvancedScript : CogToolBlockAdvancedScriptBase{#region Private Member Variablesprivate Cognex.VisionPro.ToolBlock.CogToolBlock mToolBlock;#endregionCogGraphicLabel cc new CogGraphicLabel();public override bool GroupRun(ref string message, ref CogToolResultConstants result){foreach(ICogTool tool in mToolBlock.Tools){ //以集合的方式统一运行工具// mToolBlock.RunTool(tool, ref message, ref result);//Run 单独运行某个工具tool.Run();if (tool.RunStatus.Result CogToolResultConstants.Accept){//控制vp运行工具后显示内容message 工具运行成功123;//记录当前工具运行状态result CogToolResultConstants.Accept;}//工具运行异常else if (tool.RunStatus.Result CogToolResultConstants.Error){message 工具运行错误tool.Name;result CogToolResultConstants.Error;cc.SetXYText(100, 100, message);return false;}}// 所有工具无错误返回成功message 所有工具运行成功;cc.SetXYText(100, 100, message);//所有工具成功执行后 result 代表block的状态result CogToolResultConstants.Accept;return false;}public override void ModifyLastRunRecord(Cognex.VisionPro.ICogRecord lastRecord){mToolBlock.AddGraphicToRunRecord(cc, lastRecord, CogPMAlignTool1.InputImage, );}#endregion作业1显示有胶无胶作业2:线序识别作业3:密封条胶塞颜色识别