【正运动】机器视觉运动控制一体机应用例程〔六〕液位检测.docx
《【正运动】机器视觉运动控制一体机应用例程〔六〕液位检测.docx》由会员分享,可在线阅读,更多相关《【正运动】机器视觉运动控制一体机应用例程〔六〕液位检测.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【正运动】机器视觉运动控制一体机应用例程六液位检测【正运动】机器视觉运动控制一体机应用例程六液位检测导语:在传统的瓶装液体灌装工序中,其灌装后的液位高度检测通常采用的是人眼去目测液位高度,消费效率低下,且会产生较大误差。随着消费的规模的不断扩大,因此对瓶装液体的液位高度全自动检测的需求越来越大。顺应当代生活的不断开展,瓶装液体成为人们日常生活中不可或者缺的消费品。它的包装中产品净含量是否达标是检测产品质量的一个重要指标,对于同一规格的包装瓶中,其液位高度直接反映了瓶中液体的净含量。在传统的瓶装液体灌装工序中,其灌装后的液位高度检测通常采用的是人眼去目测液位高度,消费效率低下,且会产生较大误差。
2、随着消费的规模的不断扩大,因此对瓶装液体的液位高度全自动检测的需求越来越大。目前市面上已有光电传感器检测、超声波检测和机器视觉液位检测等液位检测方法,其中机器视觉液位检测是一种非接触式、无损的检测方法。因此它具有效率高、检测精度高、设备维护简单等优点,被广泛应用于液位检测工程中。本次课程我们将与大家一起共享机器视觉运动控制一体机实现液位检测的功能。教学视频一检测原理梯形图介绍液位检测:在机器视觉解决方案中,通常使用背向打光的方式将瓶内有液体的局部和没有液体的局部加以区分,再计算出液体最高位与瓶底的间隔即液位。检测有颜色的液体通常使用普通背光源即可,如需检测透明液体或者瓶子上有字符或者颜色干扰可
3、使用穿透性较强的红外背光。视觉算法:使用两个直线测量器获得瓶底和液位的数据,再计算瓶底和液位的间隔。使用外形匹配结果作为直线测量器的补正源,使直线测量器跟随产品挪动。打光效果图二软件实现梯形图介绍(一)软件实现1.翻开ZDevelop软件:翻开工程“基于外形匹配的视觉定位在“global_variable.bas文件中定义测量尺寸需要用到的全局变量。-分割线-直线1测量参数数组,依次为中心cx、cy、w、h、angle、interp、sub_num、sub_width、filter_size、thresh、polor、select,都是图像坐标GLOBALDIMd_meas_param1(12
4、)d开始表示数据构造直线2测量参数数组,依次为中心cx、cy、w、h、angle、interp、sub_num、sub_width、filter_size、thresh、polor、select,都是图像坐标GLOBALDIMd_meas_param2(12)d开始表示数据构造定义常用颜色变量,用于绘制图形GLOBALC_RED,C_GREEN,C_BLUE,C_YELLOWC_RED=RGB(255,0,0)C_GREEN=RGB(0,255,0)C_BLUE=RGB(0,0,255)C_YELLOW=RGB(255,255,0)创立模板时保存的直线1基准区域位置向量1,x、y、angleG
5、LOBALDIMd_meas_base_v1(3)d_meas_base_v1(0)=0d_meas_base_v1(1)=0d_meas_base_v1(2)=0创立模板时保存的直线2基准区域位置向量2,x、y、angleGLOBALDIMd_meas_base_v2(3)d_meas_base_v2(0)=0d_meas_base_v2(1)=0d_meas_base_v2(2)=0直线1测量结果,依次为结果点stx、sty、endx、endyGLOBALDIMd_meas_rst1(4)直线2测量结果,依次为结果点stx、sty、endx、endyGLOBALDIMd_meas_rst2
6、(4)创立模板时保存的模板基准点,score、x、y、angle、scaleGLOBALDIMd_match_base_rst(5)globaldimd_meas_param(12)定义ROI标志变量,0-液位ROI,1-瓶底ROIGLOBALDIMroi_flagroi_flag=0定义外形匹配模板ZVOBJECTshape_model定义保存配模板标志,1-已保存,0未保存GLOBALDIMis_saveMod2.修改设计HMI界面。3.新建主界面按下【液位设置】按钮时弹出的液位参数设置窗口“Set_Select,并设计界面布局。4.关联液位参数设置窗口“Set_Select界面上的变量。
7、5.在“draw.bas文件中添加“液位Roi和“瓶底Roi根据鼠标操纵更新ROI位置的函数以及实时绘制Roi的函数,并在自定义元件中关联刷新函数和绘制函数。-分割线-测量器绘制根据鼠标操纵更新Roi的位置GLOBALSUBupdate_roi()ifroi_flag=0then假如选择设置液位ROISET_REDRAW全区域绘制if(mouse_scan(21)=1)then假如扫描到鼠标按下操纵根据鼠标所在Roi的不同位置返回调整标志hit_pos=ZV_HMIADJRECT2(table(21),table(22),11,-1)is_redraw=1绘图标志置1endififmouse_
8、scan(21)=-1then假如扫描到鼠标松开操纵假如鼠标指在Roi1区域之外ifTABLE(21)(TABLE(11)-TABLE(13)/2)orTABLE(21)(TABLE(11)+TABLE(13)/2)orTABLE(22)(TABLE(12)-TABLE(14)/2)orTABLE(22)(TABLE(12)+TABLE(14)/2)thenhit_pos=-1调整标志=-1endifZV_HMIADJRECT2(table(21),table(22),11,hit_pos)调整Roi1位置is_redraw=1endifif(MOUSE_state(21)then假如鼠标按下
9、时ZV_HMIADJRECT2(table(21),table(22),11,hit_pos)调整Roi1位置is_redraw=1绘图标志置1endifif(1=is_redraw)then假如绘图标志为1时is_redraw=0绘图标志置0将控件坐标转换到图像坐标,并赋值给相应变量ZV_POSTOIMG(0,1,11,31)d_meas_param1(0)=TABLE(31)d_meas_param1(1)=TABLE(32)d_meas_param1(2)=ZV_LENTOIMG(0,TABLE(13)d_meas_param1(3)=ZV_LENTOIMG(0,TABLE(14)d_m
10、eas_param1(4)=TABLE(15)set_base_roi()设置基准Roi数据SET_REDRAW全区域绘制endifelse否那么选择设置瓶底ROISET_REDRAW全区域绘制if(mouse_scan(21)=1)then假如扫描到鼠标按下操纵根据鼠标所在Roi的不同位置返回调整标志hit_pos=ZV_HMIADJRECT2(table(21),table(22),41,-1)is_redraw=1绘图标志置1endififmouse_scan(21)=-1then假如扫描到鼠标松开操纵假如鼠标指在Roi2区域之外ifTABLE(21)(TABLE(41)-TABLE(4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 正运动 运动 机器 视觉 控制 一体机 应用 例程 检测
限制150内