Cognex925B的使用方法
一、Cognex925B的简介
Cognex925B是一款线激光扫描传感器,利用激光三角的原理测量Z方向的断差。
二、Cognex925B的参数简介
如上图所示,深蓝色部分就是Cognex925B的量测区域,我们来解析一下参数的含义:
Near Field of View 就是梯形的上边(蓝色区域),Far Field of View就是梯形的下边,X方向的精度为18.3um-22.7um,Z方向的精度为2um。
三、通过VisionPro处理925B的内容
1.启动Cognex GigE Vision配置程序。 如果您的桌面上没有配置器,请参见附录B。 按照GigE Vision摄像机用户指南(参见附录B)中的说明配置设备的IP地址。
2、启动VisionPro®QuickBuild软件
通过双击VisionPro®QuickBuild图标启动QuickBuild。
3、将DS900传感器初始化为采集源
A、在QuickBuild工作区中,找到并双击CogJob1下的图像源条目。
B、在“图像源”对话框中,选择相机作为源。
C、在“图像采集设备”下拉列表中,找到DS900设备,然后单击“初始化采集”。
4、配置采集设置
请继续阅读下面的“配置DS900采集”部分
四、配置925B采集部分
本节将介绍采集配置界面各个选项卡中各种参数的设置。
曝光
曝光值(以毫秒为单位)应根据扫描的材料进行设置。
建议如下:
表1:推荐的快门时间(近似)
目标材料 |
快门时间 |
白色纸/塑料 |
10 - 50μs |
彩色塑料 |
50 - 100μs |
金属表面 |
0.1 - 1ms |
黑色塑料/橡胶 |
0.5 - 1ms |
超时
如果启用,此设置(以毫秒为单位)应设置为大于以下三个因素的总和:
1、采集请求和采集开始之间的最大时间(可能由于使用编码器时启动运动的延迟);
2、扫描部件所需的最大时间(由运动速度和扫描长度控制); 和
3、扫描完成后完成图像数据传输所需的最长时间。
选通和触发选项卡
触发模式
只有两种支持的模式是手动和自由运行。 DS900系列传感器不支持硬件触发。 自由运行模式可以使采集支持稍高的线速率。 设置Auto和Semi分别将系统设置为Free和Manual的等效状态。
图像属性选项卡
区域
原点X和原点Y参数应始终设置为零。 Height参数可以根据扫描的产品长度而变化,但不应大于64000.适当的值可以通过以下公式估计:
Height = 产品长度/Yscale (Yscale即每扫描一次走的距离)
输出像素格式和ROI模式
使用两者的默认值(自动)。
校准选项卡
使用默认参数。
主3D校准空间:Sensor3D,
2D校准空间名称:Sensor2D,
所选空间:已选中。
GigE标签
功能访问
此部分可用于设置或查询各种GigE功能。强烈建议不要使用此部分设置GigE功能,因为这样做可能会导致不可预测的结果,甚至可能导致采集失去响应和无法恢复。但是,可以安全地查询GigE功能。要执行查询,只需在要素文本框中键入要素名称,然后按读取按钮。然后,该要素的值将返回到“值”文本框中。
传输超时
此值类似于“设置”选项卡上的超时值,但不需要包括预获取时间。建议初始设置为20000毫秒。注意,如果命中超时,将返回以下获取错误消息:“获取失败异常。 (缓冲区检索失败(MISSING_PACKETS))“通常,它需要被设置为比预期的最长获取所花费的时间更长的值。如果编码器停止一段时间,然后继续,则空闲时间必须包括在传输超时的估计中。
数据包大小
设置此值在DS900采集的情况下不起作用,因为它由Cognex采集驱动程序内部控制。
延迟级别
此值应保留其默认值3。
自定义属性选项卡
此选项卡用于设置其他选项卡中不可用的各种相机参数。 在DS900的情况下,有许多重要的参数需要使用此方法设置。 每个参数将在下面概述。 使用位于功能列表上方的添加新按钮(Acquisition Profile Plus演练DS 900 Acquisition addnewbutton)添加参数。 使用位于功能列表上方的删除按钮(Acquisition Profile Plus演练DS 900采集删除按钮)删除参数。 网格中参数的顺序决定了它们写入相机的顺序。 此顺序在大多数情况下无关紧要,但可能会在添加非默认参数时产生影响,这些参数可能会对设置产生影响。 下表列出了用于配置正确采集的参数。 可选参数如此标记。
注意
请不要使用红色参
DS925B摄像机参数表
DS900类别 |
|
相机模式 |
范围(默认) 完成多行扫描后返回16位范围图像。 图像的大小反映了在“图像属性”选项卡中设置的参数。 强度 返回包含从单次采集返回的配置文件的1280x1024图片。 灰度范围 返回包含在范围模式中返回的图像的16位范围图像以及同一扫描的散射亮度图像。 后者可以与2D图像分析工具一起使用。 注意 有关实际示例,请参阅QuickBuild示例作业使用RangeWithGrey图像部分3D示例应用程序。 |
XScale |
用于设置图像在X方向(水平)的缩放系数。 降低XScale会使数据填充更多的图像宽度。 它不会更改保留在提供的像素值(图像属性选项卡|宽度参数)的输出图像大小。 |
启用重新采样 |
当启用(默认)时,将对所采集的图像进行重采样以产生所需的X缩放。禁用时,图像将返回到获取的用户(1280像素宽,作为推荐设置)。由于默认值为true,所有范围图像都将重新采样。 |
运动输入 |
l 模拟编码器(默认):使用内部定时器使传感器获取。 l 编码器:传感器将期望来自外部有线编码器的编码器脉冲。 l 手动:此模式保留以备将来使用。 |
每行的步数 |
此设置应用于控制编码器脉冲与所采集线路的比率。增加此值会降低传感器采集线的速率。默认值为4。 |
每周期距离 |
采集线之间的运动毫米数。这由编码器规格设置,根据StepsPerLine参数减小。对于正方形像素,此值必须与XScale参数值匹配。默认值为1.更改每个循环的距离不会更改范围图像的外观。此属性不以任何方式影响图像缩放。为了实现“正方形像素”,每像素的XScale必须匹配实际上在每像素的Y中获取的。更改此属性不会影响。 |
预期运动速度 |
这应该与运动级的物理速度匹配,以毫米每秒为单位。默认值为200。 注意 这仅适用于运动输入参数设置为模拟编码器。 |
忽略TooFast编码器 |
启用时,采集线路速率将限制为相机能够采集的速率。当使用外部编码器并且编码器驱动太快时,采集将有效地由基于时间的编码器控制。默认值为False,因此过快的编码器速率将被标记为错误。请注意,DS900上不能配置编码器方向,编码器分辨率和单通道编码器。如果禁用此参数,则采集将引发编码器超限错误(如果编码器脉冲速率超过最大采集帧速率)。启用此参数将导致遗漏的编码器脉冲被忽略。用于VisionPro 8.4的DS900系列不会生成缺少线。 |
测量领域 |
控制梯形扫描区域的哪个部分是从中返回的数据。请参阅测量字段查找表以确定需要设置的值。默认值为5。 |
阈 |
扫描轮廓上满足或超过阈值的像素用于产生距离图像。低于阈值的像素被视为缺失。范围为0 - 255.默认值为128。 |
阈值动态 |
允许传感器自动调整配置文件的阈值,以通过在配置文件的不同部分允许不同的阈值来实现改进的结果。默认值为OFF。 |
配置文件相机获取方向 |
当设置为激光到镜头时,将调整图像变换,并可选择垂直翻转图像以校正镜像。默认值为“镜头到激光”。 |
数据包间超时 |
C控制在超时之前驱动程序在数据包之间等待的时间间隔的最大值。由于DS9xx传感器在获取数据包时发送数据包,因此当使用物理编码器时,超过此间隔的任何停止或极限运动减慢都会导致采集失败。默认为1000 mSec。 自动更正像素行顺序 当为真(默认值),轮廓相机获取方向设置为激光到镜头时,获取的距离图像将垂直翻转以删除镜像。 |
激光模式 |
l Strobed(默认) - 开始采集时(激光延迟中指定的延迟)打开激光,并在采集停止时关闭激光,即“仅在采集期间激光打开”。 l 手动 - 采集代码不控制激光,用户通过CP激光功率XML功能控制激光。这适用于出现异常长的激光延迟的情况 将需要设置以产生可靠的采集。 概要: l 关闭延迟:激光模式= Strobed,Lase rDelay = 0 l 关闭选通,激光打开:激光模式=手动,CP激光功率=标准功率 l 关闭选通,激光关闭:激光模式=手动,CP激光功率=关 |
激光延迟 |
指定激光打开和开始采集之间的延迟时间(以秒为单位)。默认值为0.005(5 mSec)。如果延迟设置为大于1秒,则会发生采集错误。将激光延迟设置为0会导致无延迟。 |
相机功能类别| 算法控制 |
|
中位数 |
定义要应用于轮廓的中值滤波器的内核大小,以帮助平滑和降噪。 可能的值是禁用,3位数,中位数5,中位7的默认值是禁用。 |
平均 |
定义要应用于轮廓的平均滤波器的内核大小,以帮助平滑和降噪。 可能的值是禁用,平均3,平均5和平均7。 默认值是禁用。 |
测量字段查找表
四、具体实战选型
讲了这么多,我们用一个实际的案例来看看如何选型:
A:选用模拟编码器
Step1:根据产品要测量的高度差,确定激光器到产品的距离及根据字段产找表最合适的测量领域。
一般而言我们让工作距离是53.5+25=78.5mm,或者比78.5mm小一点,字段查找表高度上有8个格,每个格大约是25/8 = 3.125mm。
当工作距离是78.5mm时,测量矩形的长边刚好在离传感器78.5mm的平面上,这个时候根据产品离基准面的高度确定选哪个测量领域。
说到底第一步就是先把测量领域确定下来,这一点至关重要。
Step2:根据马达的速度确定DistancePerCircle(每周期运动距离) DistancePerCircle = 马达速度(单位是mm/s)/测量领域对应的频率
YScale = DistancePerCircle *StepsPerLine/4 一般StepsPerLine = 4 就是说YScale = DistancePerCircle
设置XScale以匹配计算的YScale以获取正方形像素。或者,您可以选择不同的XScale,以更好地利用图像的像素宽度,并减少丢失的像素。
XScale不影响处理速度和编码器超限条件。作为指导,有效的XScale通常在0.05和0.01之间。其他值也可以工作,但会导致图像不必要的欠采样或过采样。
简单说就是原则上设置XScale = YScale ;
Step3 :设定Height
根据Height = 要测量的长度/DistancePerCircle 确定编码器Height的数值。
Cognex925B的使用方法的更多相关文章
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- mapreduce多文件输出的两方法
mapreduce多文件输出的两方法 package duogemap; import java.io.IOException; import org.apache.hadoop.conf ...
- 【.net 深呼吸】细说CodeDom(6):方法参数
本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ...
- IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法
直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...
- 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...
- [C#] C# 基础回顾 - 匿名方法
C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...
- ArcGIS 10.0紧凑型切片读写方法
首先介绍一下ArcGIS10.0的缓存机制: 切片方案 切片方案包括缓存的比例级别.切片尺寸和切片原点.这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要.图像格式和抗锯齿等 ...
- [BOT] 一种android中实现“圆角矩形”的方法
内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行 ...
- JS 判断数据类型的三种方法
说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...
随机推荐
- ARP输入 之 arp_rcv
概述 arp_rcv是ARP包的入口函数,ARP模块在二层注册了类型为ETH_P_ARP的数据包回调函数arp_rcv,当收到ARP包时,二层进行分发,调用arp_rcv: arp_rcv对ARP输入 ...
- 【软件工程】Beta冲刺(4/5)
链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 新增数据分析展示等功能API 服务器后端部署,API接口的beta版实现 展示 ...
- linux基础技巧
命令行颜色显示: \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\0 ...
- linux编辑文本(vim)时跳转到最后一行和第一行及相关指令
vi操作 1.跳到文本的最后一行:按“G”,即“shift+g” 2.跳到最后一行的最后一个字符 : 先重复1的操作即按“G”,之后按“$”键,即“shift+4”. 3.跳到第一行的第一个字符:先按 ...
- SCM是什么?
答: 全称为Software Configuration Management,即为软件配置管理
- .SpringIOC容器
创建对象 SpringIOC容器,是spring核心内容. 作用: 创建对象 & 处理对象的依赖关系 IOC容器创建对象: 创建对象, 有几种方式: 1) 调用无参数构造器 2) 带参数构造器 ...
- Hander创建消息
每一个消息都需要被指定的Handler处理,通过Handler创建消息便可以完成此功能.Android消息机制中引入了消息池.Handler创建消息时首先查询消息池中是否有消息存在,如果有直接从消息池 ...
- 搞清clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop
每个HTML元素都具有clientHeight offsetHeight scrollHeight offsetTop scrollTop 这5个和元素高度.滚动.位置相关的属性,单凭单词很难搞清楚分 ...
- Python3+RobotFramewok 用户自定义库的开发(四)
在介绍这个之前,可以先看下python的目录Python\Lib\site-packages下面的文件夹,你会发现这个目录下面有DatabaseLibrary.RequestsLibrary.Sele ...
- flutter richText富文本
flutter中富文本使用 RichText( text: TextSpan( text: '登陆即同意', style: TextStyle(fontSize: 14, color: Colors. ...