工业相机SDK错误码常见场景解析
在使用SDK二次开发过程中,接口的调用往往会遇到较多的错误,sdk错误码能够帮助我们快速分析错误原因,解决问题,针对常见的错误码,下面给出一下常见的问题原因,供大家分析

1.MV_OK 0x00000000 成功,无错误
解析:-2147483648/0x80000000正常状态返回,执行成功
2.MV_E_HANDLE 0x80000000 错误或无效的句
解析:-2147483648/0x80000000 无效句柄,常见问题如下:
用户没有申请句柄,直接调用接口,新手常犯的错误,要引导去学习我们接口使用流程
用户创建了句柄,但是其他地方销毁了句柄,用户没有注意到,需要仔细排查代码
3.MV_E_SUPPORT 0x80000001 不支持的功能
解析:-2147483647/0x80000001
SDK接口的bayer空域降噪、无损压缩、色彩矫正等ISP功能,需要配合CS-Pro系列相机支持
格式转化时,不同格式的相互转化,超出了算法能力集,详情请仔细查阅SDK接口说明
4.MV_E_BUFOVER 0x80000002 缓存已满
解析:-2147483646/0x80000002
常见于gige驱动启动时报错,低版本SDK在某些网卡上面易发,驱动启动失败后,走socket协议发送接收相机数据,效率低,CPU负载大 推荐使用SDK3.5版本解决此问题
5.MV_E_CALLORDER 0x80000003 函数调用顺序有误
解析:-2147483645/0x80000003
sdk接口调用,有一定流程顺序,例如getimagebuffer在startgrabing之前调用,就违反了接口流程,就会报错顺序调用错误 还比如,没有调用startgrabing接口,就去调用频繁调用stopgrabing接口,也会报此错误
6.MV_E_PARAMETER 0x80000004 错误的参数
解析:-2147483644/0x80000004
常见问题: 常见于格式转化、图像保存等需要补充数据结构的接口调用,部分参数传入错误,或者没有传入,这个时候,要去仔细检查参数的传入是否正确
7.MV_E_NODATA 0x80000007 无数据
解析:-2147483641/0x80000007无数据
相机帧率低,用户调用主动取流接口getimagebuffer/getoneframetimout频率高于相机出图频率,且超时时间短,没有拿到图片,此时应该打印相机帧号,如帧号连续则为正常现象
相机处于触发模式,没有触发信号给到相机,此时,应该排查用户是否给了软触发或者硬触发信号
相机停流,此时,建议打开MVS,观察相机状态
耐心寻找规律,看看是否跟packsize、scpd、取流超时时间不合理所致
8.MV_E_NOENOUGH_BUF 0x8000000A 传入的内存空间不足
解析:-2147483638/0x8000000A
1.用户自行开辟的内存大小,小于当前相机图像所需要的图像大小,例如用mono8的图像大小,接收RGB的图像
2.用户定义的内存大小,中途更换了分辨率更高的相机,导致所需内存较多
3.相机开启了chunk功能,用户开辟缓存大小,仅考虑了图像宽*高*像素格式,没有考虑到chunk
解决方法:
排查内存开辟大小,建议使用相机payloadsize大小
检查相机图像格式
关闭相机chunk等功能
9.MV_E_UNKNOW 0x800000FF 未知的错误
解析:-2147483137/0x800000FF GenICam未知错误
未知错误,形成原因较难分析,建议如下
更新最新版本的sdk
开启sdk日志等级,通过日志分析形成原因
10.MV_E_GC_GENERIC 0x80000100 通用错误
解析:-2147483392/0x80000100
通用接口调用,关键词写错,例如曝光:ExposureTime,拼写错误就会报错
第三方相机链接,例如迈德威视相机链接MVS,也会报通用错误,这是因为迈德威视不是标准的genicam协议的相机导致的
接口类型用错,例如曝光时float型节点,我们使用了一个int型的节点接口进行读写,访问,那么也会报通用错误
11.MV_E_GC_RANGE 0x80000102 值超出范围
解析:-2147483390/0x80000102
接口传入的参数值,超出相机接受范围,例如,曝光存在上下限,图像宽高存在步进,没有按照步进进行设置等等
12.MV_E_GC_ACCESS 0x80000106 节点访问条件有误
解析:-2147483386/0x80000106
常见的问题类型有: 相机节点不存在或者无法访问,例如,自动曝光,在手动曝光情况下,自动曝光节点会被隐藏,或者其他相机存在这个参数,而使用的相机无此参数,例如线扫相机的行频参数等等,还比如说部分相机无此功能,例如event参数,部分相机固件暂不支持用户调用
13.MV_E_GC_TIMEOUT 0x80000107 超时
解析:-2147483385/0x80000107 GVCP命名包回复超时,一般出现在网络环境不好的情况下,此时应该调用接口加大gvcp命令包等待时间(MV_GIGE_GetGvcpTimeout()),持续出现该报错,应该排查网络环境问题
14.MV_E_ACCESS_DENIED 0x80000203 设备无访问权限
解析:-2147483133/0x80000203常见问题有:
相机被其他软件打开占用,关闭其他软件,检查设备管理器中,可能存在的残留进程
代码debug下,心跳时间问题,等待60s后,可以重新打开(此问题参考心跳问题解决方法,可缩短打开时间)
其余问题,例如一上电就打不开相机,需要重新插拔网线、USB线,就是其他问题,需要具体问题,具体分析
15.MV_E_NETER 0x80000206 网络相关错误
解析:-2147483130/0x80000206
此类报错非常常见,主要分以下集中
相机掉线,能够在日志中发现大量的206报错,此时需要去区分掉线原因,结合相机上电时间、心跳时间、相机权限,日志等信息,综合判断
网线异常,导致相机掉线,也需要具体问题分析
16.MV_E_IP_CONFLICT 0x80000221 设备IP冲突
解析:-2147483103/0x80000221,常见于IP设置时,当前ip已经被其他设备使用,需要更换ip重新设置
17.MV_E_USB_READ 0x80000300 读USB出错
解析:-2147482880/0x80000300
USB读取相机信息失败,此类问题较为复制,与USB接口稳定性、线缆长度、电磁环境相关,往往不好分析,可以尝试插拔一下,或者更换USB接口尝试
18.MV_E_USB_WRITE 0x80000301 写USB出错
解析:-2147482879/0x80000301
同0x80000300一样,不好分析,可以尝试插拔一下,或者更换USB接口尝试
19.MV_E_USB_DRIVER 0x80000305 驱动不匹配或者未装驱动
解析: -2147482875/0x80000305
同0x80000300一样,问题复杂,除了更换USB接口外,还可以尝试更换sdk版本
另外一种场景,比较好解决的是,卸载第三方的usb驱动,比如说halcon驱动

版权声明:本文为V社区用户原创内容,转载时必须标注文章的来源(V社区),文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:v-club@hikrobotics.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
上一篇

底扫清洁设备操作方法经验分享

下一篇

3D轮廓仪如何进行系统标定

评论请先登录 登录
全部评论 0
Lv.0
0
关注
15
粉丝
9
创作
26
获赞
相关阅读
  • [共享学习]VM之角度纠正问题
    2024-03-07 浏览 0
  • 机器视觉菜鸟指南
    2024-02-29 浏览 0
  • 基于C++OpenCV实现VisionMaster中的“直线边缘缺陷检测”
    2024-03-04 浏览 0

请升级浏览器版本

您正在使用的浏览器版本过低,请升级最新版本以获得更好的体验。

推荐使用以下浏览器