跳转到内容

网络带宽控制#

本主题介绍 blaze 相机流式传输图像和深度数据时用于控制网络带宽消耗的参数。

该功能的使用#

当多个设备通过公共链路连接到接收主机并且必须共享可用的网络带宽时,控制网络带宽消耗是必要的。为了确保稳定运行,您可能需要限制每部相机消耗的带宽。

示例:如果通过交换机将 2 部相机连接到接收计算机的千兆以太网适配器的网络端口,则两部相机的吞吐量之和不得超过最大吞吐量 1 GBit/s(125,000,000 字节/秒)。

减少相机使用带宽的另一个原因是接收主机无法跟上数据传输且必须丢弃数据包。

控制带宽消耗#

In a first step, determine the maximum possible throughput your cameras can generate with their current settings by reading the BslDeviceLinkCurrentThroughput parameter. This parameter indicates the bandwidth consumption when the camera is in free run mode, i.e., when it isn't triggered externally using software or hardware triggers.

Once you have this information, use the DeviceLinkThroughputLimitMode and DeviceLinkThroughputLimit parameters to specify sensible throughput limits for each camera. The sum of the throughputs of all cameras sharing the same link must not exceed the maximum throughput of the network adapter.

为了达到指定的限制,相机会在各个网络数据包之间插入暂停。限制越低,停顿的次数越多,停顿的时间就越长。一个完整帧的传输时间和相关的延迟,即从生成图像到数据到达主机内存之间的时间,随着限制的降低而增加。

At a certain point, this will affect the frame rate you can achieve. Read the BslResultingAcquisitionFrameRate parameter to find out the maximum possible frame rate with the current camera settings.

指定吞吐量限制也称为分配网络带宽。

限制吞吐量:

  1. Set the DeviceLinkThroughputLimitMode parameter to On.
  2. Specify the desired DeviceLinkThroughputLimit parameter value.
  3. Read the BslResultingAcquisitionFrameRate parameter to find out how the device link throughput limit affects the frame rate.

带宽预留#

流式传输协议基于 UDP 协议。UDP 不保证相机发送的数据包会被主机接收。

数据包可以由主机或相机与主机之间的网络设备丢弃。接收软件通常会检测到丢失的数据包并向相机发送适当的请求以重新发送丢失的数据。预留一定的带宽储备,以供这些分组重新发送和控制业务使用。如果此预留带宽用完,相机将无法再重新发送请求的数据包。

The bandwidth reserve is controlled by the GevSCBWR and GevSCBWRA parameters, which are described in the table below.

可用参数#

参数名称 显示名称 描述
DeviceLinkThroughputLimitMode 设备链路吞吐量限值模式 Allows you to limit the maximum available bandwidth for data transmission. Set the parameter to On to enable the limit. The maximum bandwidth is limited to the DeviceLinkThroughputLimit parameter value.
DeviceLinkThroughputLimit 设备链路吞吐量限值 Specifies the maximum available bandwidth for data transmission in bytes per second. To enable the limit, set the DeviceLinkThroughputLimitMode parameter to On.
BslDeviceLinkCurrentThroughput 当前设备链路吞吐量 相机在当前相机设置下用于传输数据的实际带宽(以每秒字节数为单位)。
BslResultingAcquisitionFrameRate 结果 Acquisition Frame Rate 当前相机设置下每秒可获取的最大帧数。
GevSCBWR 带宽预留 Specifies which portion of the assigned bandwidth is reserved to handle packet resends and to control data transmission.
The setting is expressed as a percentage of the assigned bandwidth.
Example: If a bandwidth of 30 MByte/s is assigned to the camera and the GevSCBWR parameter is set to 5 %, the bandwidth reserve will be 1.5 MByte/s.
GevSCBWRA 带宽预留累积 Multiplier used to set the maximum number of resends that can be held in the "accumulator pool".
You can use the GevSCBWRA parameter to handle situations when the network connection becomes unstable. In these situations, a larger number of packet resends may be needed temporarily to transmit an image. The bandwidth reserve accumulation is basically an additional pool of resends that the camera can use in unusual situations.
Example: The current bandwidth reserve setting is large enough to allow up to 5 packet resends during a frame period. The bandwidth reserve accumulation (GevSCBWRA parameter) is set to 3. With these settings, the accumulator pool can hold a maximum of 5 x 3 = 15 resends.
GevSCPSPacketSize 数据包大小 Specifies the maximum size of a data packet transmitted via Ethernet. The value is in bytes.
For blaze cameras the only supported value is 1500 bytes.