发布时间: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
发布时间:2021-09-16