Skip to Main Content
Cognex 支持中心
LogoLogo

"The acquisition failed abnormally" With "Buffer retrieve failed" Errors On Acquisition

Explanation of some common variants of this error.

2025/03/11

Details

Issue:

During acquisition, an exception with an error description of this type is thrown. It is received from our Pleora performance driver.

Cause:

  • The most common occurrences of these are AUTO_ABORTED and TOO_MANY_CONSECUTIVE_RESENDS. Both more or less mean the same - the packets from the camera are not received within the expected timeframe. The difference is just which packets are missing.
  • TOO_MANY_CONSECUTIVE_RESENDS means that the camera dropped packets somewhere in the middle of the image, but other packets, that were supposed to come in later, have already arrived. This tells the system that for a short time in between, packets that were sent did not arrive, and the driver requests those packets to be sent again. If the same keeps happening without expected packets being successfully received, it will output this error.
  • If packets are dropped from the end of the image, the driver cannot distinguish between dropped packets or a camera that has simply paused the data transmission (for example, a linescan camera). In this case, the driver will generate an AUTO_ABORTED error instead if the packets are not received within a certain amount of time.
  • So in all cases where we get TOO_MANY_CONSECUTIVE_RESENDS, and in some cases where we get AUTO_ABORTED we are dealing with a bandwidth issue.
  • Other errors that are less common but still might come up are RESENDS_FAILURE and STATE_ERROR, but they also usually have the same reasons.

Resolution:

  • Make sure the CPU and rest of the PC hardware is chosen adequately for the task.
  • Check only Gigabit Ethernet is used for both cabling and network equipment.
  • See if any networking equipment is managed or has any features that causes a performance decrease.
  • Some anti-viruses scan network communications which can lead to a slow down that may cause the packets to be dropped.
  • Make sure Jumbo Packets are enabled on the network adapter. The MTU should be a value around 9000. If the NIC supports only a lower number than that, then another, more capable one should be used.
  • Check that the Packet Size in the GigE tab of the cameras' properties is set to 8164 bytes or above so the camera is actually using Jumbo Packets.
  • Maximize the number of "Receive Buffers" for your NIC. This value should be 2048. If the NIC supports only a lower number than that, another, more capable one should be used.
  • Lower the “Latency Level” in the “GigE” tab of the Image Source to 0 or 1.
  • Make sure that only one camera is used per network adapter. If this is not possible, make sure not more than one camera that shares its port with others is receiving triggers at the same time.
  • If multiple cameras need to share the same port even though they might get triggered at the same time, or the data rate of a single camera is more than the interface can bear, there is the possibility the access the custom property named GevSCPD and try increasing that. This controls the delay between when packets are sent by the camera to give the computer more time to process them. This will effectively lower the acquisition performance of the system.
  • When using a virtual machine there is a high chance that this will not work due to latency between the hardware and the virtual box.
  • In general, make sure that you have read and followed all of the advice in the "Cognex Vision Software GigE Vision Cameras User's Guide".

See Also:

  • There are also some other types of "The acquisition failed abnormally" errors, that do not fall into the "Buffer retrieve failed" category. These problems have different origins:
  • "Register write error." -> Camera compatibility problem. When using a non-English OS, try to set the regional format settings to English US, so that floating point numbers are using the dot as decimal point.
  • "A timing error occurred." -> Camera compatibility problem or a firewall issue.
  • "Adapter image pool full." -> The images are either too large, or too many of them need to be buffered. Most probably, the reserved pool size can be raised.

Loading component...

Loading component...

相关资源

Loading component...