海康工业相机SDK基于C#关于IO输入输出的控制

这篇具有很好参考价值的文章主要介绍了海康工业相机SDK基于C#关于IO输入输出的控制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

海康工业相机功能模块sdk提供了很多相机的接口,本文主要介绍下相机的io相关的控制。例如在通过io输入触发相机拍照。通过io输出传递拍照成功,或者存图成功的信号等。

IO输入

IO输入的主要作用就是,相机通过IO管脚,收到1个IO信号,来触发相机拍照;

  • 触发模式:TriggerMode设置为1,开启触发模式
  • 触发源选择:TriggerSource设置为0,选择line0,也可以选择line2,或者选择anyway;line0、line2取决于硬件电路接线,anyway支持软触发、硬触发同时使用,需要看相机是否支持
  • 沿信号TriggerActivation:默认上升沿触发(可以不设置)
  • 触发缓存TriggerCacheEnable:默认不开启。当相机同时收到两个触发信号时,不开启此功能,相机只会响应1个信号,出一张图;开启后,相机会自动缓存第二个信号,上个信号处理完毕后,立即处理缓存信号
  • 触发延时TriggerDelay:收到信号后,固定延迟一段时间再曝光
  • 滤波设置 LineDebouncerTime:去除信号毛刺抖动,根据实际情况进行调节
    //C#代码段:硬触发模式初始化配置
    int nRet;
    nRet = m_MyCamera. MV_CC_SetEnumValue_NET( "AcquisitionMode", 2);
    //0:SingleFrame 1:MultiFrame 2:Continuous 
    nRet = m_MyCamera.MV_CC_SetEnumValue_NET( "TriggerMode", 1);//0:off 1:on
    nRet = m_MyCamera.MV_CC_SetEnumValue_NET("TriggerSource", 0);//line2也可做输入源,非光耦
                                                          //0:Line0 1:Line1 2:Line2  7:Software 8:FrequencyConverter 13:anyway
    nRet = m_MyCamera.MV_CC_SetEnumValue_NET( "TriggerActivation", 0);//0:Rising Edge  1:Falling Edge 2:LevelHigh 3:LevelLow
    nRet = m_MyCamera.MV_CC_SetFloatValue_NET("TriggerDelay", 0);//根据实际情况设置,默认0 us
    nRet = m_MyCamera.MV_CC_SetBoolValue_NET("TriggerCacheEnable",true);//开启后会默认缓存1个信号
                                                                  //滤波设置
    nRet = m_MyCamera.MV_CC_SetEnumValue_NET("LineSelector", 0);//0:Line0  2:Line2 
    nRet = m_MyCamera.MV_CC_SetIntValue_NET("LineDebouncerTime", 10);//硬件滤波时间,可加大此参数防抖us

    与MVS对应:

  • 海康相机触发,机器视觉,工业相机开发,数码相机海康相机触发,机器视觉,工业相机开发,数码相机

IO输出

输出可以输出事件也可以控制光源:

  • strobe输出,配合频闪光源拍摄,IO输出跟随曝光,输出周期与曝光周期同步
  • software输出,用户自定义时刻输出,用户自主控制,必要时刻输出OK或NG信号(事件)

strobe输出配合频闪光源:IO输出与曝光同步

//Strobe输出
nRet = m_MyCamera.MV_CC_SetEnumValue_NET( "LineSelecto_NETr", 1);
//0:Line0 1:Line1 2:Line2 
nRet = m_MyCamera.MV_CC_SetEnumValue_NET("LineMode", 8);//仅LineSelector为line2时需要特意设置,其他输出不需要
                                                 //0:Input 1:Output 8:Strobe 
int DurationValue = 0, DelayValue = 0, PreDelayValue = 0;//us
nRet = m_MyCamera.MV_CC_SetIntValue_NET("StrobeLineDuration", (uint)DurationValue);
//strobe持续时间,设置为0,持续时间就是曝光时间,设置其他值,就是其他值时间
nRet = m_MyCamera.MV_CC_SetIntValue_NET("StrobeLineDelay", (uint)DelayValue);//strobe延时,从曝光开始,延时多久输出
nRet = m_MyCamera.MV_CC_SetIntValue_NET("StrobeLinePreDelay", (uint)PreDelayValue);//strobe提前输出,曝光延后开始
                                                                      //--------------------------------------------------------------------------------------------------
nRet = m_MyCamera.MV_CC_SetBoolValue_NET("StrobeEnable", true);//Strobe输出使能,使能之后,上面配置参数生效,IO输出与曝光同步
//Strobe输出,多用作点亮频闪光源,sensor快门类型为Global相机都支持,rolling需注意相机是否支持

海康相机触发,机器视觉,工业相机开发,数码相机

Software输出,IO输出与LineSource同步

//IO输出做NG信号用
//参数初始化
nRet = m_MyCamera.MV_CC_SetEnumValue_NET( "LineSelector", 2);
//0:Line0 1:Line1 2:Line2 
nRet = m_MyCamera.MV_CC_SetEnumValue_NET( "LineMode", 8);//仅line2需要设置
                                                 //0:Input 1:Output 8:Strobe 
nRet = m_MyCamera.MV_CC_SetEnumValue_NET( "LineSource", 5);
//0:ExposureStartActive 5:SoftTriggerActive  6:HardTriggerActive
int DurationValue1 = 1000, DelayValue1 = 0, PreDelayValue1 = 0;//us
nRet = m_MyCamera.MV_CC_SetIntValue_NET("StrobeLineDuration", (uint)DurationValue1);
nRet = m_MyCamera.MV_CC_SetIntValue_NET( "StrobeLineDelay", (uint)DelayValue1);//strobe延时,从曝光开始,延时多久输出
nRet = m_MyCamera.MV_CC_SetIntValue_NET( "StrobeLinePreDelay", (uint)PreDelayValue1);//strobe提前输出,曝光延后开始
nRet = m_MyCamera.MV_CC_SetBoolValue_NET( "StrobeEnable", true);
//Strobe输出使能,使能之后,上面配置参数生效,IO输出与LineSource同步
//-------------------------------------------------------------------------------------
//输出IO信号命令
nRet =m_MyCamera. MV_CC_SetCommandValue_NET("LineTriggerSoftware");

海康相机触发,机器视觉,工业相机开发,数码相机

电平反转,通过快速反转电平状态,来模拟一个信号输出
当然这种控制电平变化时间做不到精确控制,只能适用于那种不太严格要求信号质量的场景

//电平反转
//IO输出做NG信号用
//参数初始化
nRet = m_MyCamera.MV_CC_SetEnumValue_NET( "LineSelector", 2);
//0:Line0 1:Line1 2:Line2 
nRet = m_MyCamera.MV_CC_SetEnumValue_NET("LineMode", 8);//仅line2需要设置
                                                 //0:Input 1:Output 8:Strobe 
                                                 //信号输出----------------------------------------------------
nRet = m_MyCamera.MV_CC_SetBoolValue_NET("LineInverter", true);//电平反转,也可用作IO输出,连续两次翻转可以输出一个IO信号
Thread.Sleep(10);//延时就相当于电平持续时间,也可以不设置
nRet = m_MyCamera.MV_CC_SetBoolValue_NET("LineInverter", false);

海康相机触发,机器视觉,工业相机开发,数码相机

本文参考了其他的博主的C语言版本,侵权删https://blog.csdn.net/qq_23107577/article/details/114106514?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%B5%B7%E5%BA%B7sdk%20io&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-114106514.142^v94^insert_down28v1&spm=1018.2226.3001.4187文章来源地址https://www.toymoban.com/news/detail-769397.html

到了这里,关于海康工业相机SDK基于C#关于IO输入输出的控制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 海康工业相机SDK连接demo,Qt界面显示

    在机器视觉开发过程中,经常使用工业相机采集图像,以下采用海康机器人提供的SDK开发demo,使用语言C++,界面显示使用的Qt。SDK来自MVS 3.1版本中附属的Development文件夹。完整的项目链接地址为: 海康工业相机SDK的Demo源代码C++版本 附录海康工业相机的命名方式: 海康工业相

    2024年02月13日
    浏览(59)
  • 海康机器人工业相机SDK MVS安装教程

    海康机器人是面向全球的机器视觉和移动机器人产品及解决方案提供商,业务聚焦于工业物联网、智慧物流和智能制造,构建开放合作生态,为工业和物流领域用户提供服务,以创新技术持续推动智能化,引领智能制造进程。 进入官网 https://www.hikrobotics.com/cn,点击下载中心

    2024年02月10日
    浏览(53)
  • (一)Qt+OpenCV调用海康工业相机SDK示例开发

    提示:这里是该系列文章的所有文章的目录 第一章: (一)Qt+OpenCV调用海康工业相机SDK示例开发 第二章: (二)Qt多线程实现海康工业相机图像实时采集 近期在Qt环境下进行海康工业相机的使用开发,发现海康提供的示例没有Qt的demo,而其中有基于MFC框架的示例,所以在这

    2024年02月03日
    浏览(98)
  • (三)Qt+OpenCV调用海康工业相机SDK抓拍示例

    提示:这里是该系列文章的所有文章的目录 第一章: (一)Qt+OpenCV调用海康工业相机SDK示例开发 第二章: (二)Qt多线程实现海康工业相机图像实时采集 第三章: (三)Qt+OpenCV调用海康工业相机SDK抓拍示例 在这系列文章中,讲述了Qt下结合OpenCV与海康工业相机的使用,对

    2024年04月08日
    浏览(88)
  • 【HIKROBOT】海康机器人:工业相机SDK二次开发

    海康机器人官网链接:https://www.hikrobotics.com/cn 根据购买设备的型号下载用户说明书 笔者实验室购买了两款,一款GigE网口接口的,一款USB接口 GigE网口接口 USB接口:MV-CA050-20UC 服务支持”“下载中心”“机器视觉”中下载MVS客户端安装包及SDK开发包。 1.1.1 Ubuntu18.04系统安装 下

    2024年02月05日
    浏览(62)
  • 海康威视工业相机Linux SDK开发指南详细步骤(Ubuntu20.04+单目、双目相机单次、连续拍照)

    由于实验需要使用双目相机同步采集图像,实验室准备的设备是海康威视的工业相机,对其进行二次开发,其中花了大部分时间查找资料,以及代码进行反复调试,最后到达了想要的效果,并写博客记录一下。 首先是资料的查找,我们要注意的是海康威视一共有两个官网,一

    2024年02月16日
    浏览(144)
  • C# 上位机之海康相机开发(SDK)

    发现工作中好多计算机视觉上位机项目都用海康相机,为了能够更好的学习和工作,我自己依据同事的源码和网上的一些总结编写本博客。通过本次学习,让我明白一点,无论学习什么技术都要学会自己看技术文档,而不是第一时间上网找源码。以工业相机SDK使用说明.chm为例

    2024年02月03日
    浏览(53)
  • 【项目实践】海康威视工业相机SDK开发小白版入门教程(VS2015+OpenCV4.5.1)

      由于学校要求暑期实习,于是找了一位学长开的公司,接了一个项目,是 对海康威视工业相机(MV_CE200_10GM)进行二次开发,读取其图像并做分析处理。 于是花了一点时间查找的相关资料并记录一些 入门要点 。   想先说说一些 “尝试授人与渔” 的话,也是自己的一

    2024年02月04日
    浏览(52)
  • 关于海康工业相机连接电脑时出现链接速度低于1Ggps解决办法

    一、电脑端网卡配置 打开电脑设置——网络和Internet——高级网络设置——更改适配器选项——双击以太网 网络和Internet点击属性、打开配置 点击配置 点击高级 巨型帧9KB 连接速度和双工模式_1.0Gbps全双工 电源管理取消勾选 二、MVS相机软件参数设置 将相机连接至电脑 打开

    2024年02月02日
    浏览(77)
  • Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用相机日志跟踪功能(C#)

    Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。 Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具有快速数据传输、低功耗、易于集成以及高度可扩

    2024年01月18日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包