条码读取遇难题?邦纳BVI视觉软件帮您轻松搞定
时间:2019-08-24 阅读:732
邦纳全新的工控利器——BVI视觉软件,具有丰富的视觉检测工具、*的视觉检测功能,能满足电子、汽车、制药、包装、食品饮料等不同行业复杂的检测需求。
BVI的构成
1
BVI软件由两部分构成:
• Banner Vision Inspector用于开发视觉应用以及运行视觉检测程序
• Banner Configurator用于配置硬件
2
功能描述
• 系统菜单 - 设定相机、开关量I/O、光源亮度设置、查看内存和结果信息、进行坐标和畸变校准、查看直方图、变量复位、软件系统参数设置
• 画面调节 - 查看实时图像、调节图像大小
• 显示画面 - 显示当前程序运行画面
• 程序 - 运行程序、新建、导入、保存程序
• 工具列表 - 从列表中调用需要的检测工具
• 程序编辑 - 将工具拖入程序编辑栏开发视觉检测应用
• 图像寄存器 – 暂存相机获取的图片以及经过预处理的图片
• 鼠标位置/灰度 – 指示鼠标位置上的图像坐标以及该点的灰度值
• 检测时间 – 指示程序运行时间
▲编辑画面
BVI读取阵列布置的条码
3
在条码读取的应用中我们通常会遇到这种情况,在一个较大的视野范围内整齐分布了若干个条码,客户需要按照规定的顺序逐个读取,让我们看看采用BVI软件怎么完成客户的需求。
一般来说,只要相机有足够的分辨率,使用一个读码工具是可以读取这么多个条码。但是,实际上这么操作条码不是按照顺序来解码的,输出的字串信息是混乱的,客户难以知道哪个位置的码是什么信息。或者针对每一个位置做一个读码工具,这种情况又是很麻烦,如果视野内有更多的条码怎么办?
当然使用BVI软件处理这种应用就简单得多。如图,在BVI中,“计算物件”工具可以调用“格阵”这种ROI类别。此时,根据行、列的数量对检测区域进行分格,并且产生每个格子的序号。条码作为每个格子中的物体,该工具能够按照顺序输出每个物体的坐标。这些坐标再作为定位数据引导读码工具,按照顺序读码。
真正的读码工具配置在循环程序段中。在循环程序中,首先使用“定位”工具调取“计算物件”工具统计到的条码的位置序列,每一次循环都将读取下一个位置额条码。再根据其他的逻辑和脚本工具,将条码信息往变量中做堆栈。当完成后一次循环,读取后一个条码后跳出循环程序,后的通讯工具可以将所有的条码信息进行一次性发送。
具体的数据格式可以按照客户要求灵活配置,比如:
• 在每个条码前加上条码的位置编号
• 用空格替代条码信息代表此处没有条码
• 用error替代条码信息代表此处读码错误等
如此,仅使用少数十几行程序就可以完成一个复杂的读码检测要求,这样的程序无论对还是使用方维护起来十分方便。