Please enable JavaScript to view this site.

IDS peak 2.8.0 / uEye+ firmware 3.33

GigE Vision camera data is transmitted as a sequence of packets. In addition to the payload data, a package also consists of header and checksum data. Depending on the MTU setting, the amount of user data and thus the packet size (keyword: jumbo frames) can vary. There is a adjustable delay between two packages ("inter-packet delay"). If data packets are incorrectly transferred, the transport layer (GenTL) can request missing data packets again using a re-send mechanism. The possibility for data requests depends on the used transport layer. These three components together determine the complete transmission time of a camera image.

Fig. 281: Dependencies in packet transmission time

Fig. 281: Dependencies in packet transmission time

To relieve the network load in multi-camera operation or to relieve a processing system, it is necessary to reduce the network bandwidth of the transmitting devices. Inter-packet delay prevents bandwidth bottlenecks through transmission pauses. The packet delays cause the total transmission time to increase, since the image data is sent slower than before and thus reduces the data throughput. An increasing transmission time also results in a reduction of the maximum frame rate.

Querying the DeviceThroughputLimit

genericC++

// Get the minimum and maximum value
auto deviceLinkThroughputLimitMin = nodemapRemoteDevice->FindNode<peak::core::nodes::IntegerNode>("DeviceLinkThroughputLimit")->Minimum();
auto deviceLinkThroughputLimitMax = nodemapRemoteDevice->FindNode<peak::core::nodes::IntegerNode>("DeviceLinkThroughputLimit")->Maximum();
 
//Get the current value
auto deviceLinkThroughputLimit = nodemapRemoteDevice->FindNode<peak::core::nodes::IntegerNode>("DeviceLinkThroughputLimit")->Value();

Setting the DeviceThroughputLimit

genericC++

// Set a new value
int64_t deviceLinkThroughputLimit = 125000000;
nodemapRemoteDevice->FindNode<peak::core::nodes::IntegerNode>("DeviceLinkThroughputLimit")->SetValue(deviceLinkThroughputLimit);

Querying the DeviceLinkAcquisitionFrameRateLimit

genericC++

// Get DeviceLinkAcquisitionFramerateLimit
auto frameRateLimit = nodemapRemoteDevice->FindNode<peak::core::nodes::FloatNode>("DeviceLinkAcquisitionFrameRateLimit")->Value();

Example: Distributing the maximum bandwidth equally between 2 cameras

© 2024 IDS Imaging Development Systems GmbH