如何操作:在使用 GigE 相机时排查丢包或丢帧故障#
当同时从多个相机采集图像时(例如,通过硬件触发器并行运行两个相机),您可能会注意到丢包或丢帧现象。
这通常是因为网络交换机或网卡(NIC)上的某些硬件缓存或缓冲区由于突发的大量传入网络数据包而暂时溢出。
检查丢包/丢帧的一个便捷方法是观察 pylon Viewer 中相机的统计数据:
- 切换到 Guru 级别。
- 在 pylon Viewer 的设备树中单击相机的名称以选择相机。
- 选择 Stream Parameters,然后选择 Statistics。
如果您发现在运行 GigE 相机时出现丢包/丢帧现象,可以尝试优化网卡的配置。
要优化网卡,您可以执行以下操作:
- 在 Windows 控制面板中打开 Network Connections 窗口。
- 右键单击网卡连接的名称,然后从下拉菜单中点击 Properties。Properties 窗口随即打开。
- 点击 Configure。此时会打开一个控制器属性窗口。
- 点击 Advanced。在 Properties 组中选择以下参数,并在值组中设置其值:
信息
根据网卡型号的不同,网卡的参数名称可能会与下方所示的有所不同。此外,参数的设置方式也可能不同,并且某些参数可能不可用。
-
将 Jumbo Frames(或 Jumbo Packets)参数设置为其最大值。如果不存在 Jumbo Frames 参数,请选择与帧大小相关的参数,并将其大小设置为最大值(通常为 1.5 kB (1500))。
-
选择与接收描述符数量相关的参数(例如 Receive Descriptors),并将其设置为最大值。
-
选择与 CPU 中断次数相关的参数(例如 Interrupt Moderation Rate),并关闭此功能(或将其设置为最低值)。
对于您的网卡,设置 CPU 中断次数的方式可能会有所不同。例如,您可能需要使用一个参数将中断调节设置为较低的值,然后使用另一个参数启用中断调节。
此外,您还应该优化 GigE 相机的配置:
-
If your network adapter supports Jumbo Frames, set a Packet Size (in the Transport Layer of a camera in pylon Viewer) to a value <= Jumbo Frames value from your NIC (e.g. 3000, 6000, 9000 [KB]).
信息
出于排查目的,最初可将网卡和相机的包大小均设为 1500。由于这是连更旧的 100BaseT 网络都支持的包大小,因此这是一个非常可靠的起点。
-
增大 Inter-Packet Delay(在 pylon Viewer 的相机传输层中),将其设为一个既能解决问题又能达到所需帧率的值。
信息
在某些情况下,您可能需要将 Inter-Packet Delay 增加到最大值才能解决丢包或丢帧问题,但这会导致相机的最大帧率降低。
-
(可选)您可以增加 Frame Transmission Delay 以延迟帧传输的开始时间。在有多台相机的系统上,这还可以减轻交换机或网卡的负载。
若要自动配置相机的最佳包大小和 Inter-Packet Delay,您还可以使用 pylon 附带的 pylon GigE Configurator。