several kinds of gige error: unable to set packet size, blocks being dropped, getdata timed out and framesize changed

5 views (last 30 days)
Setup: a GigE camera, a gigabit ethernet card, Matlab R2013a, Windows 7 Ultimate
Matlab function used: vid = videoinput('gige',1); start(vid); getdata(vid); stop(vid);
Problem statement: above combination used to work fine for quite a long time(about two years). But suddenly several kinds of error occured during the acquisition of images. Below are frequently occured errors:
1) unable to set packet size:
2) blocks/frame being dropped:
3) getdata timed out:
4) frame size changed
I tried to set src.PacketDelay and src.PacketSize according to answer provided in https://cn.mathworks.com/matlabcentral/answers/91834-how-do-i-calculate-the-packet-delay-for-a-gige-vision-camera-to-prevent-dropped-frames but it doesn't work.
So what might go wrong and I'm really appreciated if anyone can help me solve this problem.
More information:
1) ethernet card: the maximum size of jumbo frame is 7KB MTU, the maximum value of receive buffers is 512, and the Link Speed & Duplex has already been set to Auto Negotiation;
2) one acquisition will typically last for 10 minutes, which results in 12000 frames with frame rate set to 20 fps. I have already allocted memory before data acquisition.

Answers (1)

qiang zhong
qiang zhong on 4 Jun 2019
Edited: qiang zhong on 5 Jun 2019
(1)Add an code each time you open the vid object:imaqreset
(2)Set the value of packDelay

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!