當前位置:編程學習大全網 - 編程語言 - 海康相機sdk調試錯誤

海康相機sdk調試錯誤

最近在接入海康gige相機時,調試過程中總是莫名出壹些錯誤,但是運行官方示例,壹點問題沒有,我曾壹度懷疑是項目中的使用的艾科sdk跟海康的沖突了,後來反復調試,還是不行,簡單的壹句話 nRet = MV_CC_GetEnumValue(cameraHandle, "PixelFormat", &stPixelFormat); 經常報 0x80000206 網絡相關錯誤 ,甚至直接crash,最後反復嘗試,修改環境,最後發現是 心跳超時 造成的。調試過程中,心跳很容易超時,默認的心跳超時時間是3s,而且官方文檔,也早已給出解決方案。記錄壹下,方便下次查閱。以下是官方的Q&A:

問題 1:用MVS看圖像有很多丟包。

問題原因: 網絡傳輸環境異常,導致數據傳輸丟包。

解決方法: 1、保證網絡有足夠帶寬。2、開啟網卡巨幀。3、關閉系統防火墻。4、調節SCPD,慢慢調大,直到不丟包為止,如下圖:

問題 3:DHCP下無法設置靜態IP

問題原因: 相機端未發布版本對網關做了限制,0.0.0.0的會顯示失敗。

解決方法: 重新升級固件。

問題 4:調用sdk執行軟觸發命令時,軟觸發命令執行失敗。

問題原因: 設置觸發源不是軟觸發。

解決方法: 調用sdk時,在執行軟觸發命令時,先保證相機處於軟觸發模式以及觸發源為軟觸發。

問題 5:相機跑壹會出現斷線情況。

問題原因: 網卡休眠或者網口連接處松動。

解決方法: 1、設置操作系統的電源選項,使計算機不要進入睡眠狀態。2、確認下網口是否松掉了。

問題 6:調用 MV_CC_OpenDevice()返回無權限。

問題原因: 1、該相機已經被其它程序占用了。2、可能是設置心跳時間過長,而程序沒有執行關閉設備或者銷毀設備句柄接口,直接異常退出(在調試模式下常見),導致設備壹直被占用著。

解決方法: 1、檢查是否已經有別的程序占用了相機,或者在程序中已經被連接。2、需要等心跳時間到或者插拔下相機電源。

問題 7:調試過程中返回錯誤碼。

問題原因: 調試時會引起心跳發送超時。

解決方法: 可以把心跳時間設長(如30s,及設置值為30000),默認是3s,如下圖:

問題 8:調用 MV_CC_GetOneFrameTimeout()接口,發現 MV_CC_GetOneFrameTimeout() 返回無數據錯誤。

問題原因: 對 MV_CC_GetOneFrameTimeout()接口不理解,認為調用壹次壹定能取到數據。

解決方法: 需要強調 MV_CC_GetOneFrameTimeout()是主動查詢方式,不是每次都能獲取到數據的,可以增大超時時間。

問題 9:調用 MV_CC_GetOneFrameTimeout()始終無數據。

問題原因: 同時調用了註冊圖像回調函數。

解決方法: 註冊回調和主動獲取圖像的方式,是不能同時並存的。

問題 10:調試狀態異常結束後相機無法打開。

問題原因: 在調試狀態下,相機的心跳值會被默認設置成60000ms(60s),目的是避免用戶在Visual Studio集成開發環境調試狀態下心跳發送超時的情況,但會出現調試狀態異常關閉後相機無法打開問題。

解決方法: 建議客戶在退出調試之前先將相機關閉。

  • 上一篇:請教大家壹個問題,關於文件服務器虛擬化
  • 下一篇:蔣濤的個人經歷:
  • copyright 2024編程學習大全網