利用VisionPro提供的脚本功能对付这种规律分布的产品非常有效。可以在肯定程度上实现程序的封闭,维护、扩展更加方便。
这里提供可运行的VPP程序、图片和脚本程序。
使用c#脚本配合模板定位就可以实现测量和显示功能。
思路是:从左到右一一检测;一次检测一个重复区域;利用脚本改变ROI的位置,每次将新的ROI升级到PMAlign工具中。
CogRectangle roi;
//搜索区域
CogPMAlignTool toolPM=new CogPMAlignTool();
//模板工具
toolPM = toolGroup.Tools["CogPMAlignTool1"] as CogPMAlignTool; for(int i=0;i < 16;i )
//16是检测目标的数量,改成变量替代比较好
{
/* ROI是矩形框 实例化ROI 定义矩形框的位置和大小 此处,ROI的X方向的位置是变化的 改成变量做到外边比较好 */
roi = new CogRectangle();
//roi.X = 21;
roi.Y = 16; roi.Width = 118;
roi.Height = 525;
roi.Color = CogColorConstants.Blue;
roi.X = 21 i * 122.5;
toolPM.SearchRegion = roi; toolPM.Run();
if(toolPM.Results.Count > 0)
{
//显示匹配到的目标
CogCompositeShape myGraphic = new CogCompositeShape();
myGraphic = toolPM.Results[0].CreateResultGraphics(CogPMAlignResultGraphicConstants.All);
myGraphics.Add(myGraphic);
}
//显示ROI
myGraphics2.Add(roi);
}