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

【04】大恒相机SDK C++发开——调试千兆网相机心跳超时设备掉线

文章目录

  • 1 调试千兆网相机注意事项
    • 1.1 第一种方式——宏编译条件判断 增加心跳超时
    • 1.2 第二种方式——系统中环境变量 添加 心跳超时时间
    • 1.3 注意事项

1 调试千兆网相机注意事项

Windows 的用户在使用Visual Studio 开发平台在Debug 模式下调试千兆网相机的时候**可能会遇到因为心跳超时而导致设备掉线的情况。**应用程序必须以固定的时间间隔发送心跳包到设备,如果设备没有接收到心跳包则会认为当前连接已经断开,从而不会再接收从应用程序发送的任何命令。

  • 当用户正常运行应用程序的时候,底层库会正常发送心跳包,保持和设备的连接状态,
  • 但是当用户在应用程序中设置断点调试的时候,程序运行到这些断点时,调试器会暂停所有线程,包括发送心跳包的线程,所以当用户在Debug 模式下单步调试代码的时候,就不会发送心跳包到设备

用户可以通过增加心跳超时时间的方式来解决这个问题用户修改心跳超时时间有以下两种方式:

1.1 第一种方式——宏编译条件判断 增加心跳超时

代码使用宏编译条件判断包含,只有在Debug 调试模式才编译此段代码,切忌不要将此段代码带到正
常发布产品中。

//打开设备,此处以序列号为例打开设备,序列号以实际设备为准。用户可以选择其他方式打开设备。
#ifdef_DEBUG
CGXDevicePointer objDevicePtr = IGXFactory::GetInstance().OpenDeviceBySN("RN0001007012",GX_ACCESS_EXCLUSIVE);
//获取远端设备属性控制器
CGXFeatureControlPointer objFeatureControl = objDevicePtr->GetRemoteFeatureControl();
//设置心跳超时时间5 分钟
objFeatureControl->GetIntFeature("GevHeartbeatTimeout")->SetValue(300000);
#endif

1.2 第二种方式——系统中环境变量 添加 心跳超时时间

在系统中添加环境变量"MER_HEARTBEAT_TIMEOUT",并赋给一个大于零的值,添加完成后使用应用程序打开设备,设备的心跳超时时间就会自动变成此环境变量的值。

注意只需要在开发的系统上添加此环境变量,因为无论在Debug 还是Release 的应用程序中都起作用

1.3 注意事项

注意:如果用户将心跳超时时间设置的非常长,当结束程序的时候没有调用关闭设备接口来关闭设备,这就会导致设备在心跳时间内无法复位,从而导致用户再次尝试打开设备的时候失败

可通过复位或重连设备解决此问题,有两种方式实现设备的复位或重连:

    1. 在IP 配置工具中直接选择复位设备或重连设备;
    1. 通过接口GXGigEResetDevice 实现设备的复位/重连。
      复位设备:等同于给设备掉电上电一次,相机内程序全部重新加载。
      重连设备:等同于软件接口关闭设备,执行此操作后,允许用户重新打开设备。

在这里插入图片描述

http://www.dtcms.com/a/308498.html

相关文章:

  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | FeedbackUiDesign(评价反馈组件)
  • 工程项目管理软件选型对比:主流平台功能与适用场景深度测评
  • [12月考试] F
  • 用el-table实现的可编辑的动态表格组件
  • 微信小程序中进行参数传递的方法
  • 【Linux】的起源 and 3秒学习11个基本指令
  • JSX语法
  • 关于AI的使用感想
  • Maven模块化开发与设计笔记
  • 深入解析 Spring AI 系列:剖析OpenAI接口接入组件
  • WEditor:高效的移动端UI自动化脚本可视化编辑器
  • Vibe Coding:AI驱动开发的安全暗礁与防护体系
  • MySql 知识大汇总
  • 架构实战——架构重构内功心法第三式(运筹帷幄)
  • 行业热点丨仿真历史数据难以使用?如何利用几何深度学习破局,加速汽车工程创新
  • Ubuntu 18.04 repo sync报错:line 0: Bad configuration option: setenv
  • 三维火灾调查重建:科技赋能,探寻真相
  • 网络安全-同形异义字攻击:眼见并非为实(附案例详解)
  • 什么是 MySQL 的慢查询日志?如何优化慢查询?
  • FastAPI docs接口文档打不开怎么解决
  • 活到老学到老之AES加密
  • CentOS 7 上使用 Docker 安装 Jenkins 完整教程
  • 有公网ip还要端口映射不?只有内网ip怎么做映射端口到外网访问?
  • Electron 作品【AI聊天】桌面应用 —— 系列教程(含开源地址)
  • 守护金融核心业务 | 博睿数据《金融业务全景与全链路智能可观测体系建设白皮书》发布!
  • ORACLE基本DML操作
  • ShimetaPi M4-R1:国产高性能嵌入式平台的异构计算架构与OpenHarmony生态实践
  • 如何在 Ubuntu 24.04 或 22.04 LTS 上安装 OpenShot 视频编辑器
  • 【支持Ubuntu22】Ambari3.0.0+Bigtop3.2.0——Step6—本地apt源
  • MELF电阻的原理,特性和应用