お使いのブラウザが古くなっていますので、このウェブサイトのすべての機能が表示されない可能性があります。 お使いのブラウザの更新する方法をご覧ください。

OK

What do the Statistic Parameters of the StreamGrabber mean, while using the pylon GEV Filter driver?

While using the pylon GEV Filter Driver you can retrieve given statistic parameters from the StreamGrabber. These parameters are very helpful in order to judge if your setup is correct (including camera configuration) and your hardware components are appropriate (or appropriately configured) and/or perform well.

In other words, through these parameters you can see if you are losing images and upon that you can take measures to prevent that.

You can access these parameters either in pylon viewer (pylon viewer -> Stream Parameters -> Statistic) or from the pylon API.

Pay attention, the statistic parameters are only available while continuously grabbing images in pylon viewer. In the pylon API, these parameters will be available after "StreamGrabber.PrepareGrab()" and before "StreamGrabber.StopGrab()" were called.

In the statistic section in pylon viewer the statistic parameters will appear like that and this is their meaning:

Total Buffer Count

Counts the number of received frames

Node Name: Statistic_Total_Buffer_Count

The Total Buffer Count will count the number of all buffers with "status == succeeded" and "status == failed". That is, all successfully and all incompletely grabbed (error code: 0xE1000014) buffers. That means, the Failed Buffer Count will also be included into this number.

C++ sample code:

int64_t i = camera.GetStreamGrabberParams().Statistic_Total_Buffer_Count.GetValue();

Failed Buffer Count

Counts the number of buffers with at least one failed packet

Node Name: Statistic_Failed_Buffer_Count

The Failed Buffer Count will count only buffers, which were received with "status == failed". That is, buffers that were incompletely grabbed (error code: 0xE1000014).

C++ sample code:

int64_t i = camera.GetStreamGrabberParams().Statistic_Failed_Buffer_Count.GetValue();

Buffer Underrun Count

Counts the number of frames lost because there were no buffers queued to the driver.

Node Name: Statistic_Buffer_Underrun_Count

The Buffer Underrun Count is increased when an image was received, but there were no queued, free buffers in the driver input queue, which caused the loss of the frame.

C++ sample code:

int64_t i = camera.GetStreamGrabberParams().Statistic_Buffer_Underrun_Count.GetValue();

Total Packet Count

Counts the number of received packets

Node Name: Statistic_Total_Packet_Count

The Total Packet Count counts all packets ever seen, i.e. all successfully and unsuccessfully received packets.

C++ sample code:

int64_t i = camera.GetStreamGrabberParams().Statistic_Total_Packet_Count.GetValue();

Failed Packet Count

Counts the number of failed packets (status != success)

Node Name: Statistic_Failed_Packet_Count

The Failed Packet Count counts received packets that were successfully received by the driver, but have been reported as "failed" by the camera. The most common reason is that the data is the result of a packet-resend request, which could not be satisfied by the camera since the requested data was already overwritten by new image data inside the camera memory.

However, when a packet was simply missed by the PC, i.e. when the original packet and the packet requested by a resend request both have been missed, it is not counted as "failed packet". In such situations Failed Buffer Count will be incremented though.

This why it is possible to have a failed buffer count > 0, but a failed packet count of zero.

C++ sample code:

int64_t i = camera.GetStreamGrabberParams().Statistic_Failed_Packet_Count.GetValue();

Resend Request Count

Counts the number of emitted PACKETRESEND commands

Node Name: Statistic_Resend_Request_Count

The Resend Request Count counts the number of sent resend requests.

Pay attention, the pylon GEV Filter Driver will send only one resend request upon detecting a missing packet. If a packet could not be retrieved though, only the Failed Buffer Count will be increased.

Also, if consecutive missing packets were detected (e.g. packet number 5,6,7 and 8 were missed), only one resend request will be sent for all consecutive missing packets.

That is why, it is possible to see higher numbers for Resend Packet Count than for Resend Request Count.

C++ sample code:

int64_t i = camera.GetStreamGrabberParams().Statistic_Resend_Request_Count.GetValue();

Resend Packet Count

Counts the number of packets requested by PACKETRESEND commands

Node Name: Statistic_Resend_Packet_Count

The Resend Packet Count counts the number of packets requested by resend requests.

C++ sample code:

int64_t i = camera.GetStreamGrabberParams().Statistic_Resend_Packet_Count.GetValue();

Pay attention, if the GEV Filter Driver did not receive the "leader" (packet notifying the beginning of a frame/image) of a given frame, it will disregard the complete frame and no resend requests will be sent and no statistic parameters will be increased.

That is, if the leader was lost, the complete frame will be lost and the user will not be notified about that. This is why it is recommendable to check the Frame Counter of upon receiving images in order to detect lost frames.

Pay attention, the GEV Performance Driver behaves in a different way in this regard.