Winyao
Blogs

工业相机丢包问题(网卡设置篇)

08/25/2026

工业相机丢包问题(网卡设置篇,相机到网卡)

工业相机丢包问题(网卡设置篇,相机到网卡)

在工业自动化、机器视觉、在线检测、尺寸测量和高速图像采集系统中,工业相机通常通过 GigE、GigE Vision 等以太网接口,将连续产生的图像数据发送到工控机或服务器。

当系统出现图像丢包、画面不完整、黑块、采集异常、图像传输中断甚至相机偶尔掉线等现象时,问题并不一定来自工业相机本身。对于以太网工业相机而言,从相机发送数据,到网卡接收数据这一段链路中的每一个环节,都可能影响最终的数据完整性。

本文重点讨论“工业相机 → 网线 → 计算机网卡”这一段传输路径,重点介绍与网卡设置有关的丢包排查方法。

一、先明确工业相机到网卡的数据传输过程

以常见的 GigE 工业相机为例,图像数据大致经过以下路径:

工业相机 → 相机网络接口 → 网线 → 交换机(如有)→ 网线 → 计算机网卡 → 网卡接收缓冲区

本文统一采用工业相机直连计算机网卡的结构:

工业相机 → 网线 → 计算机网卡 → 网卡接收缓冲区

本文只讨论工业相机通过一根网线直接连接计算机网卡的场景,重点关注数据从相机发送、经过网线、进入计算机网卡以及进入网卡接收缓冲区这一条单一路径。

需要注意的是,工业相机发送的是连续的数据流。当相机发送数据的速度超过网卡、驱动程序或者操作系统在某一时刻能够处理的速度时,就可能产生接收拥塞或丢包。

二、为什么网卡设置会影响工业相机丢包?

很多用户认为,只要计算机网卡支持 1 Gbps 或 10 Gbps,就可以稳定接收工业相机数据。实际上,网卡的实际接收能力不仅取决于标称带宽,还与以下因素有关:

  • 实际协商的链路速度;
  • 网卡驱动程序;
  • Receive Buffers(接收缓冲区);
  • 网卡中断处理机制;
  • RSS(Receive Side Scaling);
  • 流量控制;
  • Jumbo Frame;
  • 网卡节能功能;
  • 网卡硬件卸载功能;
  • 计算机 CPU 和 PCIe 总线资源。

因此,排查工业相机丢包时,不能只查看“网卡是不是千兆”,还需要进一步检查网卡的实际工作状态和高级参数。

三、第一项检查:相机和网卡的实际连接速度

首先确认工业相机与计算机网卡之间实际建立的链路速度。

例如,工业相机支持 1 Gbps,但计算机网卡由于网线、连接器、交换机端口或协商异常,实际只建立了 100 Mbps 链路,那么在高速连续采集情况下,出现数据拥塞是非常容易理解的。

常见链路速度包括:

  • 100 Mbps;
  • 1 Gbps;
  • 2.5 Gbps;
  • 5 Gbps;
  • 10 Gbps。

在 Windows 中,可以通过“设置 → 网络和 Internet → 高级网络设置”进入对应的网络适配器查看连接状态,也可以通过“控制面板 → 网络和 Internet → 网络连接”查看网卡状态。

注意:网卡“支持千兆”不等于当前“正在使用千兆”。排查问题时,应以当前实际协商速度为准。

四、第二项检查:网线和物理链路

在修改网卡高级参数之前,建议先排除物理链路问题。

工业相机长时间连续传输时,对网络链路的稳定性要求明显高于普通办公网络。建议检查:

  • 网线类别是否满足当前链路速率要求;
  • 网线是否存在明显弯折、损伤或接头松动;
  • 水晶头或工业连接器是否接触可靠;
  • 网线长度是否处于设备推荐范围内;
  • 网线两端的连接器和接口是否正常;
  • 计算机网卡是否发生频繁重新协商。

如果更换一根质量可靠的网线后丢包明显减少,那么优先解决物理链路问题,而不是继续修改网卡参数。

五、第三项检查:网卡驱动程序

网卡驱动程序负责连接网卡硬件、Windows 网络系统以及上层应用。驱动程序版本和配置方式可能直接影响网卡的接收性能。

建议在“设备管理器 → 网络适配器”中确认:

  • 网卡的具体型号;
  • 驱动程序版本;
  • 驱动程序日期;
  • 网卡是否正常工作;
  • 是否存在设备错误或异常标识。

如果系统当前运行稳定,不建议为了“优化”而频繁更换驱动。更合理的方法是记录当前驱动版本,在出现问题时根据网卡厂商提供的正式驱动进行针对性测试。

六、重点检查 Receive Buffers(接收缓冲区)

对于工业相机丢包问题,Receive Buffers 是网卡高级设置中值得重点检查的项目之一。

工业相机不断发送数据,而网卡接收到的数据并不是在同一瞬间全部交给应用程序处理。网卡需要先使用接收缓冲区暂存数据,然后通过驱动程序和操作系统继续处理。

如果相机数据到达速度较高,而接收缓冲区设置过低,就可能出现缓冲区不足。

在不同网卡驱动中,这一参数可能显示为:

  • Receive Buffers;
  • Receive Buffer;
  • RX Buffers;
  • 接收缓冲区;
  • 接收描述符。

如果驱动允许调整,可以根据网卡支持范围适当提高接收缓冲区,并进行实际采集测试。

重要:不存在适用于所有网卡的统一最佳数值。不同网卡型号、驱动版本和操作系统的可设置范围可能不同,应以实际测试结果为准。

七、Transmit Buffers(发送缓冲区)是否需要调整?

部分网卡驱动同时提供 Transmit Buffers(发送缓冲区)参数。

工业相机主要向计算机发送图像数据,因此接收方向通常是排查重点。但是,相机与计算机之间并不是完全单向通信,控制命令、状态信息以及 GigE Vision 相关控制通信仍然需要通过网络进行。

因此,发送缓冲区也可以作为排查项目,但一般不应把它作为工业相机图像丢包问题的第一优先级。

八、检查 Flow Control(流量控制)

很多网卡高级属性中可以看到 Flow Control(流量控制)设置。

常见选项包括:

  • Disabled;
  • Rx & Tx Enabled;
  • Rx Enabled;
  • Tx Enabled。

流量控制可以在特定网络环境下帮助缓解数据突发带来的压力。但工业相机系统中的具体设置需要结合相机、网卡、交换机以及整个网络拓扑进行测试。

如果系统中只有一台相机,并且相机直接连接到计算机网卡,网络结构相对简单;本文不讨论交换机、多相机汇聚等网络拓扑,仅针对单台工业相机直连一块计算机网卡的场景进行说明。

九、检查 Energy Efficient Ethernet 等节能功能

现代网卡通常包含节能相关功能,例如:

  • Energy Efficient Ethernet(EEE);
  • Green Ethernet;
  • Power Saving;
  • 节能以太网。

这些功能主要面向降低功耗。在工业相机专用采集网卡上,如果系统出现偶发通信异常、重新开始采集时异常或长时间运行后出现问题,可以将相关节能功能作为排查项目。

如果测试需要关闭某项节能功能,应一次只修改一个主要参数,然后重新进行连续采集测试。

十、Jumbo Frame(巨型帧)与工业相机丢包

部分工业相机和网卡支持 Jumbo Frame。较大的网络帧可以减少单位数据量所对应的数据包数量,在适合的网络环境下有助于降低部分网络处理开销。

但是,Jumbo Frame 并不是简单地把网卡设置为 9000 就一定能够解决丢包问题。

如果网络链路中存在不支持对应 MTU 的设备,可能出现通信异常。因此,使用 Jumbo Frame 前,应确认:

  • 工业相机是否支持;
  • 网卡是否支持;
  • 网卡驱动是否支持;
  • 计算机网卡是否支持;
  • 工业相机与计算机网卡之间是否能够使用一致的 MTU 配置。

如果系统没有经过完整验证,建议先使用标准配置建立稳定基线,再进行 Jumbo Frame 测试。

十一、检查 Interrupt Moderation(中断调节)

网卡接收到网络数据后,需要通知 CPU 进行处理。现代网卡通常会通过中断机制提高处理效率。

Interrupt Moderation(中断调节)可以减少 CPU 接收到的中断次数,通过一定程度的数据合并降低系统开销。

对于高吞吐工业相机系统,如果出现丢包、延迟或者 CPU 网络处理压力较高的情况,可以将该参数纳入测试范围。

需要强调的是,不能简单认为“关闭中断调节一定最好”。最终配置应该通过实际采集测试确定。

十二、检查 RSS(Receive Side Scaling)

如果工控机采用多核 CPU,网卡可能支持 RSS(Receive Side Scaling),将网络接收处理分散到多个 CPU 核心。

对于高带宽工业相机系统,RSS 可以帮助改善网络数据处理的 CPU 分布。

如果发现工业相机运行时某一个 CPU 核心负载明显偏高,而其他核心利用率较低,可以进一步检查 RSS、网卡中断分布和相关驱动设置。

十三、检查网卡硬件卸载功能

常见的网卡硬件卸载功能包括:

  • IPv4 Checksum Offload;
  • TCP Checksum Offload;
  • UDP Checksum Offload;
  • Large Send Offload;
  • Receive Segment Coalescing。

这些功能主要用于降低 CPU 的网络处理负担。

由于不同工业相机、采集 SDK、Windows 版本以及网卡驱动的组合存在差异,因此不建议没有测试依据就把所有卸载功能全部关闭。

如果需要排查兼容性问题,应采用逐项修改、逐项验证的方法,并记录每次测试结果。

十四、工业相机 Packet Size 与网卡设置的关系

在 GigE Vision 工业相机中,常见的一个重要参数是 Packet Size。

它决定了相机发送图像数据时所使用的数据包大小。相机发送的数据最终需要由网卡接收,因此 Packet Size 与网卡、交换机以及整个网络路径存在直接关系。

如果相机设置的 Packet Size 超出了网络链路中某个设备的支持范围,就可能产生通信异常。

因此,在调整 Packet Size 时,应同时确认网卡和交换机的能力,而不是只修改相机参数。

十五、Packet Delay 与网卡接收压力

当一台工业相机高速发送图像数据时,数据包会在很短时间内连续经过网线到达计算机网卡。

本文不讨论多台工业相机同时发送数据的情况,只分析单台工业相机到单块计算机网卡的数据传输。

部分工业相机支持 Packet Delay 等参数,可以通过适当增加数据包之间的发送间隔,降低瞬时网络流量压力。

因此,即使采用单相机直连网卡的结构,也应该同时检查相机端的发送节奏和网卡接收能力。

十六、本文统一采用“工业相机 → 网线 → 计算机网卡”直连模式

工业相机 → 网线 → 计算机网卡 → 网卡接收缓冲区

为了让问题定位更加明确,本文不引入交换机、路由器、多相机汇聚等网络设备,只讨论一台工业相机通过一根网线直接连接计算机网卡的情况。

在这种结构下,排查路径可以明确划分为:

  1. 工业相机网络接口是否正常发送数据;
  2. 网线是否能够稳定传输数据;
  3. 计算机网卡是否以正确的速度建立链路;
  4. 网卡驱动是否正常工作;
  5. 网卡 Receive Buffers 是否足够;
  6. 网卡高级功能是否造成接收异常;
  7. 网卡接收数据后,系统是否能够及时处理。

这种单一路径结构最大的优势是故障范围比较明确。当出现丢包时,可以从相机端一路检查到网卡端,而不需要同时分析交换机端口、交换机缓存和网络汇聚等因素。

十七、单台工业相机也需要检查带宽

即使只有一台工业相机,也不能忽略带宽问题。

例如,一台高分辨率、高帧率相机持续输出大量图像数据时,如果实际链路只有 100 Mbps,而相机数据流量已经接近或超过这一水平,就可能产生明显的数据传输压力。

因此,单相机直连模式下应重点确认:

  • 相机接口的最大网络速率;
  • 计算机网卡的最大网络速率;
  • 当前实际协商的链路速度;
  • 相机实际图像数据流量;
  • 网卡接收缓冲区是否能够承受数据突发。

如果实际链路速度低于相机产生的数据流量,单纯修改网卡高级参数无法从根本上解决带宽不足问题。

十八、建议的“相机到网卡”排查顺序

  1. 确认相机工作模式:确认相机是否处于正常连续采集状态。
  2. 确认实际链路速度:检查相机到计算机之间是否建立了预期的网络速度。
  3. 更换可靠网线:先排除最基础的物理链路问题。
  4. 确认网卡驱动:记录网卡型号和驱动版本。
  5. 检查 Receive Buffers:确认接收缓冲区没有设置得过低。
  6. 检查 Flow Control:根据实际网络拓扑进行测试。
  7. 检查节能功能:排查 EEE、Green Ethernet 等功能。
  8. 检查 Jumbo Frame:确认整条链路是否支持一致的 MTU。
  9. 检查 RSS 和 Interrupt Moderation:针对高负载和多核 CPU 环境进一步测试。
  10. 检查相机 Packet Size:确认相机数据包大小与网络环境匹配。
  11. 检查 Packet Delay:多相机环境下重点关注瞬时流量。
  12. 进行长时间测试:不能只测试几秒钟,应进行连续采集验证。

十九、为什么修改一个网卡参数后一定要重新测试?

工业相机丢包问题经常涉及多个参数。如果同时修改 Receive Buffers、Flow Control、Jumbo Frame、RSS 和 Interrupt Moderation,最终即使问题得到改善,也无法判断真正起作用的是哪个参数。

更合理的方法是建立一个测试基线:

记录原始设置 → 修改一个参数 → 连续采集 → 记录结果 → 与基线比较。

如果条件允许,还可以记录:

  • 连续采集时间;
  • 采集帧数;
  • 丢帧数量;
  • 相机报警数量;
  • 网卡统计信息;
  • CPU 使用率;
  • 内存使用情况。

这样可以把“感觉变稳定了”转换成可以比较的数据。

二十、工业相机丢包不能只看网卡

本文重点是“相机到网卡”这一段,但实际工程中的丢包问题可能来自多个环节。

环节 主要检查内容
工业相机 帧率、Packet Size、Packet Delay、传输模式
网线 质量、长度、接口、接触可靠性
计算机网卡 Receive Buffers、Flow Control、Jumbo Frame、RSS、节能功能
网卡驱动 驱动版本、兼容性、高级属性
计算机系统 CPU、内存、PCIe、其他网络应用
采集软件 SDK、驱动、缓冲机制、丢帧统计

二十一、工业相机专用网卡的基本配置思路

如果计算机使用独立网卡专门连接工业相机,可以按照以下思路建立基础配置:

工业相机
↓
稳定的物理链路
↓
确认实际链路速度
↓
安装稳定的网卡驱动
↓
检查 Receive Buffers
↓
检查 Flow Control 和节能功能
↓
根据网络环境测试 Jumbo Frame
↓
检查 RSS / Interrupt Moderation
↓
调整相机 Packet Size / Packet Delay
↓
进行长时间连续采集测试

这一流程的核心原则是:先保证链路稳定,再调整网卡;先建立基线,再逐项优化。

二十二、常见误区

误区一:网卡是千兆,所以一定不会丢包

实际链路速度、网卡缓存、驱动、CPU、交换机和相机发送参数都会影响结果。

误区二:把 Receive Buffers 调到最大就一定最好

较大的接收缓冲区可以增加缓存空间,但并不意味着所有系统都能够因此获得更好的整体性能。应结合实际测试确定。

误区三:Jumbo Frame 一定能够解决丢包

Jumbo Frame 需要整个通信链路支持。如果链路中存在不支持相应 MTU 的设备,反而可能产生新的通信问题。

误区四:所有高级网卡参数全部关闭

这种方法可能改变系统整体网络处理方式,并不等于优化。正确的方法是根据实际问题逐项验证。

误区五:只测试几秒钟就认为问题解决

工业相机通常需要长时间连续运行。偶发丢包只有经过较长时间测试才能更容易发现。

二十三、总结

工业相机丢包问题是一个典型的系统级网络问题。

从“相机到网卡”的角度来看,首先应该保证物理链路稳定,然后确认实际链路速度和网卡驱动状态,再进一步检查 Receive Buffers、Flow Control、节能功能、Jumbo Frame、RSS、Interrupt Moderation 等参数。

与此同时,还需要结合工业相机端的 Packet Size、Packet Delay、帧率和多相机带宽进行综合分析。

真正有效的排查方法并不是一次性修改大量参数,而是按照:

物理链路 → 实际速度 → 网卡驱动 → 接收缓冲区 → 网卡高级参数 → 相机发送参数 → 长时间采集测试

的顺序逐步验证。

对于工业自动化和机器视觉系统来说,只有把“相机、网线、网卡、驱动和采集软件”作为一个完整的数据传输链路进行分析,才能更准确地定位工业相机丢包的真正原因。