發(fā)布時(shí)間:2021-09-16
當(dāng)Basler工業(yè)相機(jī)出現(xiàn)debug模式相機(jī)經(jīng)常顯示in use, 該如何解決?
現(xiàn)象描述:
當(dāng)出現(xiàn)這個(gè)問題時(shí), 打開Basler pylon Viewer, 打開相機(jī)時(shí)會(huì)出現(xiàn)下圖的報(bào)錯(cuò)信息。
如果調(diào)試或者運(yùn)行pylon SDK的編寫的程序, 報(bào)錯(cuò)信息如下圖所示
原因:
千兆網(wǎng)視覺協(xié)議的標(biāo)準(zhǔn)是通過心跳的這種方式來監(jiān)測(cè)相機(jī)和網(wǎng)卡的連接, 心跳的這種方式是設(shè)定一個(gè)時(shí)間, 當(dāng)超過這個(gè)時(shí)間還沒有監(jiān)測(cè)到 相機(jī)和網(wǎng)卡的連接時(shí), 相機(jī)就會(huì)釋放跟網(wǎng)卡的連接, 進(jìn)入一種允許相機(jī)被再次連接的狀態(tài)。
使用pylon SDK調(diào)試程序的過程中, 為了防止相機(jī)跟網(wǎng)卡的連接斷開, 默認(rèn)狀態(tài)下, 心跳的時(shí)間是5分鐘。因此當(dāng)程序調(diào)試運(yùn)行過程中, 程序 異常中止, 只有五分鐘之后, 相機(jī)才會(huì)釋放跟網(wǎng)卡的連接, 然后進(jìn)入一種可以被再次連接的狀態(tài)。
解決方案:
(1) 硬件方法:
? 相機(jī)斷電
? 相機(jī)端或者網(wǎng)卡端的網(wǎng)線重新插拔一下
? 網(wǎng)卡禁用然后重新啟用
(2)代碼方法:
使用pylon SDK編寫的程序調(diào)試狀態(tài)下的心跳的時(shí)間雖然默認(rèn)是5分鐘, 但是可以通過pylon SDK設(shè)置這個(gè)時(shí)間。代碼如下所示:
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);//單位毫秒
如果以上步驟沒有解決問題, 請(qǐng)聯(lián)系我們?yōu)槟峁┘夹g(shù)支持。
發(fā)布時(shí)間:2017-10-25
發(fā)布時(shí)間:2017-10-27
發(fā)布時(shí)間:2021-09-16