發布時間:2021-09-16
當Basler工業相機出現debug模式相機經常顯示in use, 該如何解決?
現象描述:
當出現這個問題時, 打開Basler pylon Viewer, 打開相機時會出現下圖的報錯信息。
如果調試或者運行pylon SDK的編寫的程序, 報錯信息如下圖所示
原因:
千兆網視覺協議的標準是通過心跳的這種方式來監測相機和網卡的連接, 心跳的這種方式是設定一個時間, 當超過這個時間還沒有監測到 相機和網卡的連接時, 相機就會釋放跟網卡的連接, 進入一種允許相機被再次連接的狀態。
使用pylon SDK調試程序的過程中, 為了防止相機跟網卡的連接斷開, 默認狀態下, 心跳的時間是5分鐘。因此當程序調試運行過程中, 程序 異常中止, 只有五分鐘之后, 相機才會釋放跟網卡的連接, 然后進入一種可以被再次連接的狀態。
解決方案:
(1) 硬件方法:
? 相機斷電
? 相機端或者網卡端的網線重新插拔一下
? 網卡禁用然后重新啟用
(2)代碼方法:
使用pylon SDK編寫的程序調試狀態下的心跳的時間雖然默認是5分鐘, 但是可以通過pylon SDK設置這個時間。代碼如下所示:
C++
IPylonDevice *m_pCamera;
CIntegerPtr m_pHeartbeatTimeout = m_pCamera->GetTLNodeMap()->GetNode("HeartbeatTimeout“);
m_pHeartbeatTimeout->SetValue(1000);//單位毫秒
C#
PYLON_DEVICE_HANDLE hDev;
NODEMAP_HANDLE hNodemap;
NODE_HANDLE hNode;
hNodemap = Pylon.DeviceGetTLNodeMap(hDev);
hNode = GenApi.NodeMapGetNode(hNodemap, "HeartbeatTimeout“);
GenApi.IntegerSetValue(hNode, 1000);//單位毫秒
如果以上步驟沒有解決問題, 請聯系我們為您提供技術支持。
發布時間:2017-10-25
發布時間:2017-10-27