Basler相机常见问题

为什么debug模式相机经常显示in use,如何解决
1.现象描述
当出现这个问题时,打开basler pylonview,打开相机时会出现下图的报错信息。

如果调试或者运行pylon SDK的编写的程序,报错信息如下图所示

2.原因
千兆网视觉协议的标准是通过心跳的这种方式来监测相机和网卡的连接,心跳的这种方式是设定一个时间,当超过这个时间还没有监测到相机和网卡的连接时,相机就会释放跟网卡的连接,进入一种允许相机被再次连接的状态。
使用pylon SDK调试程序的过程中,为了防止相机跟网卡的连接断开,默认状态下,心跳的时间是5分钟。因此当程序调试运行过程中,程序异常中止,只有五分钟之后,相机才会释放跟网卡的连接,然后进入一种可以被再次连接的状态。
3.解决办法
a. 硬件方法
三种方法:1.相机断电2.相机端或者网卡端的网线重新插拔一下3.网卡禁用然后重新启用
b. 代码方法
使用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);//单位毫秒

你可能感兴趣的:(工业相机)