当前位置: 首页 > news >正文

Baumer工业相机堡盟工业相机如何实现高精度的硬件同步触发

Baumer工业相机堡盟工业相机如何实现高精度的硬件同步触发

  • Baumer工业相机
  • 工业相机为什么需要进行高精度的硬件同步
    • ​硬件触发
    • ​图像获取
  • Baumer工业相机下VCX相机硬件触发设置
  • Baumer工业相机硬触发功能注意要点
  • Baumer工业相机硬软触发功能注意要点

Baumer工业相机

工业相机是常用与工业视觉领域的常用专业视觉核心部件,拥有多种属性,是机器视觉系统中的核心部件,具有不可替代的重要功能。

工业相机已经被广泛应用于工业生产线在线检测、智能交通,机器视觉,科研,军事科学,航天航空等众多领域

工业相机的主要参数包括:分辨率、帧率、像素、像元尺寸、光谱响应特性等,本文主要介绍工业相机的芯片CRA角度与镜头选型的匹配关系

Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。

Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具有快速数据传输、低功耗、易于集成以及高度可扩展性等特点。

工业相机为什么需要进行高精度的硬件同步

确保图像的准确同步采集:在工业生产环境中,高精度图像采集设备需要确保图像的准确同步采集,这是工业相机的核心特性之一1。

保证信号的同步:工业相机的外同步是指不同的视频设备之间用同一同步信号来保证视频信号的同步,它可保证不同的设备输出的视频信号具有相同的帧、行的起止时间2。

提高图像质量和准确性:高精度的同步可以使得触发同步,再通过时间戳的同步,可以达到一个很高精度的时间同步,可以用在一些高速高精度的领域。

​硬件触发

硬件触发模式通过 ** 同步硬件触发器或可编程逻辑控制器(PLC)** 作为触发源,实现对相机的精准
控制。其核心原理在于,当触发器或 PLC 发出特定的电信号(如脉冲信号)时,相机内置的触发接口
会迅速响应,立即启动图像采集流程。

这种触发方式具有显著优势:

集成便捷:硬件触发器、PLC 与相机之间采用标准化接口(如 BNC、GPIO)和协议连接,无需复杂的
软件配置,仅需简单的线缆连接和端口参数设置,即可快速完成系统集成,大幅缩短项目部署周期。
◦ 高精度同步:凭借低延迟的信号传输和硬件电路的快速响应能力,同步精度可达到微秒(μs)级别,
能够确保多台相机或相机与外部设备之间实现近乎零误差的同步拍摄,尤其适用于对时间同步要求苛
刻的高速动态场景,如机械制造的高速运动部件检测、体育赛事的瞬间动作捕捉等。

​图像获取

在完成硬件触发后,系统通过图像回调函数实现图像数据的高效获取。当相机接收到触发信号并完成
图像采集后,会自动调用预先设定的图像回调函数。该函数作为数据接收与处理的核心接口,
可实现以下功能:
实时数据传输:以最快速度将相机传感器采集到的原始图像数据传输至计算机内存,减少数据缓存等
待时间,保障图像的实时性。
灵活处理与存储:支持对图像进行格式转换、压缩、裁剪等预处理操作,并根据用户需求将图像数据存储至本地硬盘、上传至服务器或直接传输至后续的分析系统,满足不同应用场景的数据处理要求 。

这里时Baumer相机的Neoapi SDK对应的图像回调函数,供参考,如果需更详细的neoapi sdk的介绍,可以参考博主下面其它光源neoapi sdk相关的文章。


// 编写图像回调处理程序
protected void test_image_handler(object obj, ImageEventArgs args) 
{co.WriteLine("received image:" + args.Image.ImageID +
" 大小:" + args.Image.Size + " height: " + args.Image.Height + " 高度: " + args.Image.Height +" 宽度:" + args.Image.Width + " 像素格式:" + args.Image.PixelFormat)// 根据相机的FrameID保存图像if(bSaveImg){args.Image.Save(args.Image.ImageID)}}NeoAPI.Cam camera = new NeoAPI.Cam();
camera.Connect();  // 连接到工业相机
camera.f.ExposureTime.Value = 40;
camera.f.TriggerMode.Value = NeoAPI.TriggerMode.On;//使工业相机进入触发模式
camera.f.TriggerSource.Value = NeoAPI.TriggerSource.Software;
camera.ImageCallback.Handler += test_image_handler; // 注册回调
camera.EnableImageCallback(); // 启用回调
camera.f.TriggerMode.Value = NeoAPI.TriggerMode.Off;//使工业相机进入自由采集模式
bSaveImg = true;
// 保存1s内相机采集的图像
for (int i = 0; i < 10; i++) 
{ System.Threading.Thread.Sleep(100)}
bSaveImg = false;
camera.DisableImageCallback(); // 禁用回调
camera.Dispose()// 相机资源释放

Baumer工业相机下VCX相机硬件触发设置


第一步:打 开 A c q u i s i t i o n 设 定 选 项:
1 . Tri g g e r M o d e 选 择 O n
2 . S o u r c e 选 择 S o f t w a r e( 或 者 L i n e 0 根 据 使 用 触 发 源 选
择 )
​​​​​​​​在这里插入图片描述

第二步:打 开 D i g i t a l I O C o n t r o l s:

1 . L i n e S e l e c t o r 选 择 L i n e 3
2 . L i n e S o u r c e 选 择 T i m e r 1 A c t i v e
3 . U s e r O u t p u t S e l e c t o r 选 择 u s e r O u t p u t 1
在这里插入图片描述

第三步:打 开 C o u n t e r A n d T i m e r C o n t r o l 选 项
1 . L i n e S e l e c t o r 选 择 与 上 一 步 相 同 的 T i m e r
2 . 调 节 T i m e r 的 相 关 参 数 , D u r a t i o n 为 T i m e r 持 续 时 间 , D e l a y 为 T i m e r 事 件 激 活 延 迟 发 送 时 间 , T i m e r T r i g g e r S o u r c e 为 激 活 T i m e r 的 事 件 , T i m e r T r i g g e r S o u r c e 为 激 活 动 作

在这里插入图片描述

第四步:相 机 接 线
3 - - 触 发 + 5 - - 2 4 V +
4 - 信 号 O U T 1 ( 作 为 相 机 2 的 触 发 信 号 )
在这里插入图片描述

第五步:相机硬触发测试采图

在这里插入图片描述

相机输入/输出为PNP信号,如用IN1 触发时,为+24伏的PNP信号;
中间图为当使用NPN信号时,使用固 态继电器来转为触发信号的接线方法 供参考;
完成以上操作后,即可正常使用硬触发采集图像

Baumer工业相机硬触发功能注意要点

在使用硬触发去触发工业相机时,有几件事需要注意。

  1. 确保相机和触发器是兼容的。在使用硬触发器触发工业相机之前,要确保触发器和相机是相互兼容的。检查两个设备的规格,以确保它们的设计可以一起工作。

  2. 正确设置触发器。根据制造商的说明,将触发器连接到相机上。将触发器设置为适当的模式,无论它是脉冲还是电平敏感。

  3. 确保定时正确。触发信号的时间应该是正确的,这样相机才能正确地捕捉到图像。请查阅相机的说明书,以确定适当的触发脉冲时间。

  4. 使用适当的电缆。使用正确的电缆来连接触发器和相机,可以帮助防止信号干扰,确保可靠的触发。

  5. 测试设置。在生产环境中使用该系统之前,彻底测试设置,以确保触发器正常工作,相机按预期捕捉图像。

Baumer工业相机硬软触发功能注意要点

在使用软件触发器来触发工业相机时,有几件事需要注意。

  1. 定时。确保定时准确,因为触发信号的任何延迟或不一致都会在图像采集过程中造成问题。

  2. 相机设置。检查摄像机的设置,以确保它们对你所使用的具体应用进行了优化。

  3. 硬件要求。你可能需要特定的硬件组件,如高速接口或专门的触发模块,以确保可靠的操作。

  4. 软件兼容性。确保你的软件与摄像机及其触发功能兼容。

  5. 电缆长度。确保触发源和摄像机之间的电缆长度在推荐范围内,以避免信号衰减。

  6. 触发信号类型。确保根据应用要求选择适当的触发信号类型(如上升/下降沿、电平敏感)。

http://www.lryc.cn/news/578867.html

相关文章:

  • 公用LCU屏的功能、应用场景
  • 微信小程序使用wx.chooseImage上传图片时进行压缩,并添加时间水印
  • 微信小程序入门实例_____打造你的专属单词速记小程序
  • PH热榜 | 2025-07-02
  • zabbix批量生成监控项教程!
  • Benchmarking in Go
  • 利器:NPM和YARN及其他
  • SQL Server 再进阶:类型多样性分析与时间维度扩展(第三课)
  • 解锁医疗AI密码:医疗人工智能专业大学四年学习路径
  • android核心技术摘要
  • 数论基础知识和模板
  • 香港券商交易系统开发与解决方案全景报告:云原生、跨境协同与高性能架构的创新实践
  • 【unitrix】 4.13 类型级加一计算(add1.rs)
  • 【GHS】Green Hills软件MULTI-IDE的安装教程
  • 【AI落地应用实战】AIGC赋能职场PPT汇报:从效率工具到辅助优化
  • Javaee 多线程 --进程和线程之间的区别和联系
  • Hadoop集群启动 (ZooKeeper、HDFS、YARN、Hbase)
  • 【网络】Linux 内核优化实战 - net.core.netdev_budget_usecs
  • VSCode-Copilot的系统提示词
  • mac mini m4安装node.js@16以下版本方法
  • Linux下MinIO分布式安装部署
  • REST API设计与Swagger:构建高效、易用的Web服务
  • 如何设置电脑定时休眠?操作指南详解
  • STM32 使用 TinyUSB
  • 【leetcode算法300】:哈希板块
  • 【RTSP从零实践】6、实现最简单的同时传输H264、AAC的RTSP服务器
  • SpringCloud系列(46)--SpringCloud Bus实现动态刷新全局广播
  • 免费版安全性缩水?ToDesk、TeamViewer、向日葵、网易UU远程访问隐私防护测评
  • 2025 年网络钓鱼威胁“狂飙”:如何筑牢防线?
  • 【记录】基于 C++ 和 Winsock 的简单 TCP 通信实现