
目录数据采集触发源设置触发极性触发延迟防抖时间行扫描触发源设置触发频率编码器设置编码器编辑设置编码器值和运动方向编码器分辨率触发间隔表示触发信号计数模式及触发间隔触发干扰抑制感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 个人主页 C语言️️️ C语言例题 数据结构C语言 C Linux python 软件测试 笔试练习题 秋招准备算法题 高并发内存池项目️️️ 文章链接目录 面试总结 实习内容数据采集触发源设置触发极性触发极性就是定义“哪种电平状态算有效触发状态”。以电平触发为例1正极性高电平为有效IO 从低到高后进入有效触发相机按配置开始采集回到低电平后退出有效状态。2负极性低电平为有效IO 从高到低后进入有效触发相机开始采集回到高电平后退出有效状态。所以触发极性本质是在告诉相机到底把“高”当开始还是把“低”当开始。工程上通常按外部传感器的输出逻辑来选保证“传感器判定到工件在位时”正好进入有效触发状态。触发延迟以电平触发为例在电平触发中相机并不一定要电平一来就采、电平一走就停。通过触发延迟可以把采集的起点和终点分别向后平移从而精确对准工件的实际范围。延迟可按两种单位配置行数或时间触发延迟开始延迟动作电平进入有效态由触发极性决定是高电平还是低电平有效后相机不立即开始采集先等待设定的时间/行数等待结束后才输出第一行数据。效果采集起点向后平移前段被丢弃。典型用途1.避开触发抖动段光电开关刚被遮挡时信号可能不稳跳过这段可避免头部出现错行、拉伸。2.对准目标区域传感器安装位置在工件前方一段距离时用延迟补偿这段空跑距离让第一行正好落在工件前沿。3.跳过无关部分只想扫工件后半段时直接用开始延迟把前半段跳掉减少无效数据量。触发结束延迟停止延迟动作电平退出有效态后相机不立即停止采集而是继续多采一段设定的时间/行数之后才结束本次采集。效果采集终点向后延长尾部被补齐。典型用途1.防止尾部截断光电开关往往在工件末端离开前就已复位若立即停止工件尾部会缺失一截。2.补偿安装偏差传感器与相机视野存在前后错位时用结束延迟把这段差值补回来。3.保留余量多采少量背景行便于后续算法做边界判断和分割。防抖时间问题背景实际生产环境中传感器信号特别是机械触发、光电开关等在上升沿或下降沿附近经常会产生高频抖动信号在短时间内反复在高低电平之间切换这被称为毛刺或抖动。如果相机对每一次抖动都当作有效触发就会导致1一次实际经过被识别成多次触发2采集行为乱跳数据错乱3采集间隔变得不稳定防抖时间的作用防抖时间定义了一个等待窗口。当 IO 信号发生跳变后系统不立即认可这次变化而是再等待这段时间确认信号在整个窗口内保持稳定不再抖动才把这次跳变当作真正的触发。举例说明假设防抖时间设为 10 mst0 ms传感器检测到工件IO 从低电平→高电平但立刻抖一下回低t1 ms又拉回高毛刺t2 ms再掉回低毛刺…这样反复t10 ms信号稳定在高电平保持不变系统会在 t10 ms 时才认定真正的上升沿发生了从而触发采集。之前的所有抖动都被当作干扰忽略。防抖时间的权衡防抖时间越大抗干扰能力越强但触发响应延迟越大可能错过快速经过的工件防抖时间越小响应越快但抗干扰弱容易被毛刺误触发防抖时间设置原则防抖时间 大于毛刺最长持续时间短毛刺维持不到防抖窗口结束会被过滤掉。防抖时间 小于有效信号最短持续时间真正的触发信号能稳定保持超过防抖时间不会被漏掉。行扫描触发源设置触发频率触发频率的含义触发频率是指相机在单位时间内触发采集的次数单位是 Hz赫兹。在固定频率行扫描触发中触发频率决定了相机采集的速度和间隔。频率与时间的换算频率 1 / 时间间隔比如触发频率设置为 1000 Hz则每次触发间隔 1 / 1000 0.001 s 1 ms即相机每 1 ms 自动触发一次行扫描频率对采集的影响如果设定扫描行数为 10000 行触发频率为 1000 Hz总耗时 扫描行数 × 时间间隔 10000 × 1 ms 10 s频率越高采集速度越快频率越低采集越慢。应用场景在固定频率采集下物体需要按照与触发频率对应的速度移动才能获得等间距的完整图像。比如如果设定扫描行数为 10000 行1000 Hz 频率对应的物体移动速度 物体长度 / 10 s如果物体移动过快或变速会导致扫描不完整或扭曲编码器设置编码器编辑设置编码器设置是用来做什么的编码器设置主要用于建立以下两个量之间的对应关系1编码器产生的计数值2物体实际移动的物理距离编码器只能输出脉冲和计数系统最初并不知道“物体移动 1 mm 会产生多少计数”。因此需要让机构实际移动一段已知距离并记录移动前后的编码器值从而计算编码器每增加或减少 1 个计数物体实际移动了多少距离。得到这个对应关系后系统才能根据物体的位移产生行扫描触发使相机按照固定的空间距离采集图像而不是按照固定时间采集。例如标定结果为编码器分辨率 1 μm/计数触发间隔 10 个计数表示物体每移动1 μm/计数 × 10计数 10 μm 相机触发采集一行。因此编码器设置的核心作用可以概括为先把编码器计数换算成实际位移再确定物体每移动多远触发一次相机。编码器值和运动方向编码器值是当前编码器计数器的实时读数。1正向运动时编码器值通常递增2反向运动时编码器值通常递减3物体停止时编码器值保持不变。例如移动前-20208移动后-10208计数变化量为|-10208 - (-20208)| 10000 个计数单独看移动前后的编码器值并不能直接判断物体移动了多少毫米必须将它与另一个位置的编码器值比较得到计数差再结合编码器分辨率换算距离。移动距离移动距离是从记录起始值的位置到记录结束值的位置之间机构实际移动的距离单位为毫米。这个距离需要由用户输入系统知道编码器变化了多少计数但不知道机构实际移动了多少毫米因此必须由用户提供实际移动距离才能建立“计数—距离”的换算关系。编码器分辨率编码器分辨率表示编码器每变化1个有效计数物体实际移动多少距离。计算公式为编码器分辨率 实际移动距离 ÷ 编码器计数差假设起始值 10000结束值 110000移动距离 100 mm计数差 |110000 - 10000| 100000编码器分辨率 100 mm ÷ 100000 0.001 mm/计数 1 μm/计数这里的分辨率通常指每个有效计数对应的距离不一定是一个完整编码器周期对应的距离。它与当前计数模式有关。触发信号计数模式触发信号计数模式决定系统如何利用编码器A、B相的边沿进行计数。触发间隔推荐值触发间隔表示编码器累计多少个有效计数后相机触发采集一行如果触发间隔为 N编码器分辨率为 R那么相机每行对应的物理移动距离为每行物理间距 N × R例如编码器分辨率 R 1 μm/计数触发间隔 N 5每行物理间距 5 × 1 μm 5 μm/行触发信号计数模式及触发间隔触发信号计数模式可以理解为编码器来了多少个有效信号相机才触发一次扫描。假设编码器走了 10 个完整周期触发间隔先不变只看计数模式差异x1每个周期计 1 次 → 共 10 次计数x2每个周期计 2 次通常取两类边沿→ 共 20 次计数x4每个周期计 4 次A/B上升下降都计→ 共 40 次计数在编码器触发里相机不是按“时间”采样而是按“运动位移”采样。实现方式是两层1.计数模式x1/x2/x4决定“一个编码器周期能产生多少计数”2.触发间隔N决定“累计多少计数触发一行”所以真正控制采集的是“计数”不是直接用“周期”。计数的由来以 AB 正交编码器为例一个周期内有 4 个可用边沿事件A上升、A下降、B上升、B下降x1每周期取 1 个事件计数A或B上升沿或下降沿x2每周期取 2 个事件计数A或B上升沿和B下降沿x4每周期取 4 个事件计数A和B上升及下降沿再叠加“触发方向”A在前/B在前/双向后只有符合方向规则的事件才计入。触发间隔怎么工作设触发间隔为 N系统每收到 1 个有效计数计数器 1当累计到 N就触发 1 次行扫描输出 1 行然后继续累计下一次触发。因此N 小更容易触发采样更密N 大更难触发采样更稀统一示例同一运动距离下比较 x1/x2/x4假设物体运动了 10 个编码器周期触发间隔固定 N5x1 模式10周期 → 10计数触发点5、10总触发次数2次2行解释相当于平均每5周期采1行采样最稀数据量最小x2 模式10周期 → 20计数触发点5、10、15、20总触发次数4次4行解释相当于平均每2.5周期采1行采样密度中等x4 模式10周期 → 40计数触发点5、10、15、20、25、30、35、40总触发次数8次8行解释相当于平均每1.25周期采1行采样最密细节最多负载最高触发干扰抑制触发干扰抑制用于过滤编码器触发信号中的异常干扰避免噪声被系统误认为有效的编码器计数从而造成误触发、重复触发或图像行间距异常。开启后系统会按照内部的信号判定规则对编码器输入信号进行过滤只接受符合条件的有效信号。它主要用于避免1一个真实脉冲被识别成多个脉冲2没有真实运动时产生错误计数3触发次数多于实际编码器脉冲数4图像出现重复行、局部错位5行间距不均匀6编码器值跳变异常。触发干扰抑制于防抖时间的区别触发干扰抑制判断输入信号本身是否像有效信号过滤毛刺、振铃等异常信号防抖时间某次触发后在设定时间内忽略后续触发