有的信号线连接头需要使用卡头进行与卡座固定,保证连接的可靠性。下图是笔者检测的一种连接头:
连接头自动装配好以后,需要检测卡口是否装配,以及其与顶端的距离是否在允许范围内,如下图:
本文将介绍如何使用机器视觉大师对该连接头装配后两端的卡口件进行装配质量检测。
基本原理
在连接头顶部区域和卡口区域分别设计模板定位算子,卡口的定位算子既可以用来判断该零件是否
已经装配,也可以与连接头的模板定位算子一起,用来检测其与顶部的距离。如下图:
在每次检测过程中,如果ploca2模板识别算子没有找到模板的话,则可以认定该卡口零件缺失。
如果ploca1和ploca2的模板都找到的话,可以通过计算二者的绝对位置的距离来判断二者的距离
是否在许可范围内。这个距离可以通过计算两个算子的“绝对位置”读数的垂直位置来实现。如:
ploca2.ap.y - ploca1.ap.y
每端使用两个模板定位算子即可以完成本文描述的装配质量检测需求。
添加模板定位算子
下面是增加模板定位算子和参数设置过程。
一、点击菜单”控件” ->”插入”->”定位类”->”模板定位”添加到视场,将算子拖动到连接器相应位置,
并调整好检测范围和模板大小。
二、双击该算子,进行参数设置和模板学习。在”识别”页将初始分数设置为0.32,最小分数设置为0.95。
三、在”读数”页,将”ap”读数(绝对位置)的输出类型设置为“仅计算不输出”。具体做法是选择左
边的读数,将输出类型更改为“仅计算不输出”。
按照以上步骤,完成4个模板识别算子的设计工作。如下图:
由于笔者做测试的时候,受条件所限,没有专门治具定位连接头,故额外增加线条控件
(点击“插入->标记->箭头”菜单插入控件)用于参考测试过程中连接头在视场中粗定位。
编写脚本
由于笔者事先并不知道卡口零件与连接器顶端的距离,需要使用合格连接器进行测量,获得
该距离的实际值。因此,增加一个脚本进行该距离的测量。如下图:
该检测运行该脚本脚本,可以获得两个卡口的实际距离。输出窗口的显示结果如下:
经过多个合格的样品测试结果,计算平均值,然后将该值作为标准值进行距离是否合格判断。
获得标准距离以后,增加正式的质量检测脚本,完成本文描述的质量检测工作。如下图:
完整的脚本解释如下:
1.如果卡口(对应ploca2和ploca4模板识别算子)没有找到,即cnt读书小于1,将good变量设置为0,ng
变量设置为1,返回。
if ( sight1.ploca2.cnt <1 or sight1.ploca4.cnt < 1 ) then
mvs.good = 0
mvs.ng = 1
return
end
2.设置卡口距离分别为85和86(当前测试的结果),计算相应的距离,如果距离误差大于5个像素
将good变量设置为0,ng变量设置为1,返回。
dist1 = sight1.ploca2.ap.y - sight1.ploca1.ap.y;
dist2 = sight1.ploca4.ap.y - sight1.ploca3.ap.y;
d1 = 85
d2 = 86
if (dist1 - d1 > 5 ) or (dist1 - d1 < -5) then
mvs.good = 0
mvs.ng = 1
return
end
if (dist2 - d2 > 5 ) or (dist2 - d2 < -5) then
mvs.good = 0
mvs.ng = 1
return
End
注意:5个像素的误差值仅仅为估计值,根据实际需要可以调整。
3.最后,如果卡口距离都没有问题(即产品合格),将good变量设置为1,ng变量设置为0,返回。
mvs.good =1
mvs.ng = 0
质量检测类任务支持2个系统变量:good和ng,具体如下:
变量名 |
说明 |
类型 |
good |
合格标记 |
布尔(1为真,0为假) |
ng |
次品标记 |
布尔(1为真,0为假) |
本文测试使用的机器视觉大师版本为5.1.0428
最新版多多摄像头大师(机器视觉大师)下载地址:http://www.hdy.net.cn/softshare/ddcam.htm
技术交流QQ群: 295860595 该群文件空间即时更新多多摄像头大师最新版本