Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置硬件触发模式(C++)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置硬件触发模式(C++)

  • Baumer工业相机
  • Baumer工业相机NEOAPI SDK和硬件触发模式的技术背景
  • Baumer工业相机通过BGAPISDK设置硬件触发模式功能
    • 1.引用合适的类文件
    • 2.通过BGAPISDK在Line0上施加12V/24V电压信号实现硬件触发
    • 3.通过BGAPISDK在GPIO Line1 / Line2上施加5V的电压信号实现硬件触发
  • Baumer工业相机循设置硬件触发模式功能的优势
  • Baumer工业相机设置硬件触发模式功能的行业应用

Baumer工业相机

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

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

Baumer工业相机由于其性能和质量的优越和稳定,常用于高速同步采集领域,通常使用各种图像算法来提高其捕获的图像的质量。

Baumer工业相机NEOAPI SDK是用于Baumer工业相机的一款最新的软件开发工具包(SDK)。它为开发人员提供了一系列API和工具,用于与Baumer工业相机进行通信和控制,控制方式极为便捷类似Halcon的相机助手类控制方式。​

Baumer工业相机NEOAPI SDK和硬件触发模式的技术背景

Baumer工业相机的NEOAPI SDK是Baumer公司开发的针对其相机产品系列的一套软件开发工具包。该SDK提供了一组API,使开发人员可以编写专业应用程序,从而控制、捕获、处理和显示Baumer相机的图像和数据。BGAPI SDK支持多种编程语言,包括C++、C#、Visual Basic、LabVIEW、Matlab等,并提供了大量示例代码和文档,以帮助用户轻松上手,快速完成应用程序的开发。

NEOAPI SDK提供了丰富的功能,可以控制Baumer相机的所有参数,包括曝光时间、增益、白平衡、触发模式等,以及支持各种数据格式,例如Raw、BMP、JPG等,同时还提供了实时显示、数据采集、图像处理等功能,为开发人员提供了高度定制化的解决方案。此外,BGAPI SDK还支持多相机系统的开发,并可支持各种计算机操作系统,如Windows、Linux、Mac OS等。

Baumer工业相机堡盟所有相机都支持硬件触发——通过Line0(光耦隔离输入输出)和/或Line1和Line2(GPIO通用输入输出)进行触发。如需了解相机的哪条线路可用于硬件触发,请查看相机《用户指南》的“过程接口”章节。堡盟相机的所有功能均根据EMVA标准功能命名约定(SFNC)第1.5.1版或更新版本命名。

本文介绍的通过集成NEOAPI SDK设置硬件触发模式的功能。

有关于如何使用Camera Explorer软件进行Baumer工业相机VCX系列相机硬件触发流程和设置
如下所示:
Baumer工业相机VCX系列相机硬件触发流程和设置

Baumer工业相机通过BGAPISDK设置硬件触发模式功能

下面介绍在C++里Baumer工业相机如何通过BGAPISDK设置硬件触发模式。

1.引用合适的类文件

代码如下(示例):

#include <stdio.h>
#include <iostream>
#include "bgapi2_genicam/bgapi2_genicam.hpp"
using namespace BGAPI2;
#include <iostream>
#include <iostream>
#include "neoapi.hpp"

2.通过BGAPISDK在Line0上施加12V/24V电压信号实现硬件触发

Baumer工业相机在Line0上设置硬件触发模式功能核心代码如下所示:

Baumer工业相机堡盟相机提供符合行业标准的光耦隔离输入,其中0…4.5V表示低电压,11…30V表示高电压。因此,触发信号需介于11V和30V之间。在本例中,我们假设相机的Line0上有一条光耦隔离线路。

本例仅展示如何配置Baumer工业相机,并假定pDevice已与相机建立了有效的连接。按如下语言对相机进行设置,当Line0上的触发信号为“高”时,相机将开始采集单个图像,该图像可通过常见的BGAPI::DataStream::GetFilledBuffer()函数调取。

// 设置数字IO控制
camera.f().LineSelector.SetString("Line0");
camera.f().LineInverter.Set("false");// 设置防抖信号参数
// make sure only intended signals trigger the camera (ignore jitters on the line)
camera.f().LineDebouncerHighTimeAbs.Set(1.0); // in µsec
camera.f().LineDebouncerLowTimeAbs.Set(1.0); // in µsec// 设置触发采集控制
camera.f().TriggerMode.SetString("On");
camera.f().TriggerSource.SetString("Line0");
camera.f().TriggerActivation.SetString("RisingEdge");
camera.f().TriggerDelay.Set(0.0); // delay in µsec

3.通过BGAPISDK在GPIO Line1 / Line2上施加5V的电压信号实现硬件触发

大部分Baumer堡盟相机也采用GPIO线路,这些非零电势通用输入输出需要2V或更高电压的触发信号(FPGA输入:0…0.8V为低电平,2.0…30V为高电平)。

Baumer工业相机在GPIO Line1 / Line2上设置硬件触发模式功能核心代码如下所示:

// 设置数字IO控制
camera.f().LineSelector.SetString("Line1");
camera.f().LineMode.SetString("Input");
camera.f().LineInverter.Set("false");/// 设置防抖信号参数
// make sure only intended signals trigger the camera (ignore jitters on the line)
camera.f().LineDebouncerHighTimeAbs.Set(1.0); // in µsec
camera.f().LineDebouncerLowTimeAbs.Set(1.0); // in µsec// 设置触发采集控制
camera.f().TriggerMode.SetString("On");
camera.f().TriggerSource.SetString("Line1");
camera.f().TriggerActivation.SetString("RisingEdge");
camera.f().TriggerDelay.Set(0.0); // delay in µsec

Baumer工业相机循设置硬件触发模式功能的优势

工业相机的硬件触发模式功能具有以下优势:

稳定性:硬件触发模式通过外部触发信号控制相机采集,相较于软触发方法,它能避免软触发时系统延迟和软件处理速度的影响,实现稳定可靠的图像采集。

准确性:硬件触发模式使用外部触发器来触发相机捕获图像,这可以准确捕获物体在特定时间点的图像,尤其在对快速运动物体的拍摄时显得特别重要。

实时性:由于硬件触发模式依托外部触发器进行图像采集,因此在触发器到来的瞬间即可采集图像,从而达到实时采集的目的。这在许多高速自动化应用中具有重要价值,例如生产线上产品的缺陷检测和尺寸测量等。

同步性:硬件触发模式具有触发同步功能,当多台工业相机需要同时采集图像时,可以通过一个共同的触发器来实现同步采集。这可以确保多台相机获得的图像在同一时间点发生,有助于处理多相机系统中的数据融合和分析。

灵活性:硬件触发模式可以根据外部条件与需要灵活地设置触发方式,实现不同触发源下的图像采集。例如,可以通过激光传感器、光栅传感器或编码器等设备触发图像采集。

节省资源:硬件触发模式只在需要时触发图像采集,避免了不间断采集下产生的大量冗余数据。这有助于减少数据处理量,降低存储和计算资源需求,从而提高整个系统的运行效率。

总之,工业相机硬件触发模式功能具有稳定性、准确性、同步性等优势,适用于诸多工业自动化及机器视觉应用场景,可确保系统在各种工况下高效、可靠地运行。

Baumer工业相机设置硬件触发模式功能的行业应用

工业相机硬件触发模式功能广泛应用于各个行业,以下是一些典型的行业应用:

自动化检测:硬件触发模式可以用于生产线上的产品质量检测、缺陷检测和尺寸测量等应用,使图像采集与处理更加稳定和准确。

机器视觉:硬件触发模式可以为机器视觉系统提供准确的图像采集,从而提高工件定位、识别、追踪和检测等功能的精度。

交通监测与管理:借助硬件触发模式,可以准确捕获过往车辆的图像并进行车辆速度、车牌识别等分析,从而优化交通管理。

运动分析:硬件触发模式可以用于捕捉高速运动物体的连续图像,以便对其进行运动分析和研究,如体育科学研究和动画制作等。

安全监控:硬件触发模式可以提供实时、高分辨率的图像,用于实时监控设备、过程和环境的安全性,从而预防和发现潜在的事故和故障。

医学研究与诊断:利用硬件触发模式捕获高速连续图像,用于生物医学研究、临床诊断中血液流动、心电图、微创手术等方面的应用。

环境监测:硬件触发模式可以通过工业相机实现对环境的实时监测(如空气质量、水质、土壤污染、辐射等)。

科学研究:实验室和研究中心可以采用硬件触发模式来捕获高速、高分辨率图像,以支持材料科学、物理、化学等领域的实验和分析。

能源领域:可利用硬件触发模式进行组件检测、设备监控和能源管理等应用,如太阳能、风能、核能等领域。

以上仅列举了部分硬件触发模式在工业相机上的典型应用,实际上硬件触发模式在许多其他行业中也具有广泛的应用前景。这些应用符合硬件触发模式带来的稳定性、同步性和精确性等优点,可以提高整个系统的性能和效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/627819.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python-OpenCV教程丨从零开始学计算机视觉

文章目录 写在前面入门篇1.生成图片2.转换色彩空间3.拆分颜色通道4.绘制线条5.阈值自适应处理 写在后面 写在前面 探索新大陆&#xff1a;Python&OpenCV&#xff0c;本文主要记录入门计算机视觉的一些简单程序。 入门篇 安装opencv库&#xff1a; pip install -i https…

48 分布式id的生成策略

1.UUID 1.UUID (Universally Unique Identifier)&#xff0c;通用唯一识别码。UUID是基于当前时间、计数器&#xff08;counter&#xff09;和硬件标识&#xff08;通常为无线网卡的MAC地址&#xff09;等数据计算生成的。UUID由以下几部分的组合&#xff1a; 1.当前日期和时…

RabbitMQ脑裂处理

脑裂现象&#xff1a; Network partition detected Mnesia reports that this RabbitMQ cluster has experienced a network partition. There is a risk of losing data. Please read RabbitMQ documentation about network partitions and the possible solutions. 转载请在文…

缓存击穿,缓存穿透,缓存雪崩的原因和解决方案?

缓存穿透 缓存穿透是指缓存和数据库中都没有的数据&#xff0c;导致所有的请求都落到数据库上&#xff0c;造成数据库短时间内承 受大量请求而崩掉。 解决方案&#xff1a; 接口层增加校验&#xff0c;如用户鉴权校验&#xff0c;id做基础校验&#xff0c;id<0的直接拦截…

zotero使用gpt

zotero使用gpt 下载 zotero下载&#xff1a;https://www.zotero.org/download/ 插件下载&#xff1a;https://github.com/MuiseDestiny/zotero-gpt?tabreadme-ov-file 插件安装 zotero中选择 工具->添加组件 选择右上角的齿轮&#xff0c;选择Install add-on from fil…

NeRF算法原理总结概述

简介 本文旨在对NeRF算法进行总结。论文翻译见博客&#xff1a;《NeRF算法论文解析与翻译》 参考链接&#xff1a; 神经网络辐射场NeRF、实时NeRF Baking、有向距离场SDF、占用网络Occupancy、NeRF 自动驾驶 NeRF详解 NeRF入门之体渲染 (Volume Rendering) NeRF中的位置编码 …

C++力扣题目501--二叉搜索树中的众数

给你一个含重复值的二叉搜索树&#xff08;BST&#xff09;的根节点 root &#xff0c;找出并返回 BST 中的所有 众数&#xff08;即&#xff0c;出现频率最高的元素&#xff09;。 如果树中有不止一个众数&#xff0c;可以按 任意顺序 返回。 假定 BST 满足如下定义&#xf…

中国X射线管行业研究与投资预测报告(2024版)

内容介绍&#xff1a; X射线管俗称球管&#xff0c;是X射线机的核心部件。X射线管在医学上可用于诊断和治疗&#xff0c;在工业技术方面可用于材料的无损检测、结构分析、光谱分析和底片曝光等。 目前&#xff0c;X射线管的壳体材料主要采用玻璃、陶瓷、金属材料这三种材质。玻…

项目中Ant Design Pro业务问题解决方案

ProTable实现多选反显筛选项多级关联选择 import {forwardRef,useImperativeHandle,useEffect,useRef,useReducer, } from "react"; import { Drawer, Space, Button, message } from "antd"; import * as PC from "ant-design/pro-components";…

Berstagram ——模拟

Polycarp最近注册了一个新的社交网络Berstagram。他立即在那里发表了 n 篇帖子。他给所有帖子分配了从 1 到 n 的数字&#xff0c;并逐一发布。所以&#xff0c;就在发布Polycarp的新闻推送后&#xff0c;包含了从 1 到 n 的帖子——最高的帖子编号为 1&#xff0c;下一个帖子编…

Snakemake:初探

我已经安装了mamba&#xff08;没有的话可以这样试试&#xff09; curl -L https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh -o Mambaforge-Linux-x86_64.sh bash Mambaforge-Linux-x86_64.sh 安装snakemake Setup - Snakem…

PHP项目添加分布式锁,这里是ThinkPHP8框架实现分布式锁

背景&#xff1a;公司旧项目&#xff0c;最初访问量不多&#xff0c;单机部署的。后来&#xff0c;访问量上来了&#xff0c;有阵子很卡&#xff0c;公司决定横向扩展&#xff0c;后端代码部署了三台服务器。部署调整后&#xff0c;有用户反馈&#xff0c;一个订单支付了三次。…

【Java高级应用:深入探索Java编程的强大功能,JVM 类加载机制, JVM 内存模型,垃圾回收机制,JVM 字节码执行,异常处理机制】

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

网络原理--http

目录 一、 DNS&#xff08;应用层协议&#xff09; 1、域名概念 2、维护ip地址和域名之间的映射&#xff08;域名解析系统&#xff09; 3、DNS系统&#xff08;服务器&#xff09; 4、如何解决DNS服务器高并发问题 二、HTTP&#xff08;应用层协议&#xff09; 1、htt…

开源云真机平台-Sonic平台-python自定义脚本-config.json方式实现全局配置参数的读写操作

【主要功能】 config.json方式实现全局配置参数的读写操作 使用python实现以下功能&#xff1a; 1、使用将接口获取的变量值&#xff0c;写入到当前目录下的config文件中&#xff0c;如delayTime10&#xff1b; 2、读取当前目录下的config文件中&#xff0c;特定变量的值&…

修改默认负载均衡策略(Ribbon)

修改方式 配置类配置文件 配置类 增加配置类&#xff1a;配置类必须拥有 Configuration 且不能在 ComponentScan 包下 package com.learning.springcloud.config; import com.alibaba.cloud.nacos.ribbon.NacosRule; import com.netflix.loadbalancer.IRule; import org.sp…

vue3深入组件:组件事件

触发与监听事件 在组件的模板表达式中&#xff0c;可以直接使用 $emit 方法触发自定义事件&#xff1a; <button click"$emit(someEvent)">click me</button>父组件可以通过 v-on (缩写为 ) 来监听事件&#xff1a; <MyComponent some-event"…

fs 模块

1. fs写文件 1.1 普通写入 const fs require(fs) // 异步写入 fs.writeFile(./hello.txt,刚刚我错过的大雨,err>{console.log(err); }) // 同步写入 fs.writeFileSync(./text.txt,hello boy!)1.2 文件的追加写入 const fs require(fs) fs.appendFile(./text.txt,\r\r\r…

【华为OD机试真题2023CD卷 JAVAJS】高效货运

华为OD2023(C&D卷)机试题库全覆盖,刷题指南点这里 高效货运 知识点递归循环 时间限制:1s 空间限制:32MB 限定语言:不限 题目描述: 1.老李是货运公司承运人,老李的货车额定载货重量为wt 2.现有两种货物,货物A单件重量为wa,单件运费利润为pa,货物B单件重量为wb,单…