フィルターのクリア

Dual simultaneous hardware triggered GigE camera acquisition fails (packet conflict?)

3 ビュー (過去 30 日間)
I have two GigE cameras (Prosilica GT5120, 25MP) and are required to be configured to be hardware triggered simultaneously.
The Allied Vision Vimba drivers were installed and Jumboframes enabled. The cameras are opened and configured in MATLAB as two separate GenTL adaptor video objects ('gige' adaptor does not work well and Allied Vision does not recommend). They work fine together (mostly) when manually sequentially triggered with start() and getframe() commands, however when configured to be hardware triggered and are triggered simultaneously, one of the frames gets dropped, or alternatively half of each frame gets dropped. After some testing, realized could hardware trigger and acquire frames on a single camera with no problems, so my theory is the cameras start sending data as soon is available (is not buffered on camera) to MATLAB and packets are "stepping on" each other.
Is this a MATLAB, Vimba driver, or fundamental GigE (UDP based) protocol issue?
Is there a way to force some delay in when frame is sent so does not conflict with other?
Can the frame be held in camera buffer until is ready to read?
  2 件のコメント
Walter Roberson
Walter Roberson 2019 年 6 月 14 日
What symptom do you observe?
Alexander Kuyper
Alexander Kuyper 2019 年 6 月 14 日
I just updated question as accidently hit submit before completed. Please take another look.

サインインしてコメントする。

採用された回答

Alexander Kuyper
Alexander Kuyper 2019 年 6 月 25 日
I got some feedback from Allied Vision, and they were able to provide a solution which I will pass on for future MATLABers. I implemented the StreamBytesPerSecond settting to avoid packet conflict if both cameras triggered at same time.
Cameras run at a maximum of 4.59 frames per second using all of the 1gE bandwidth.
If you wish to trigger both simultaneously up to 4fps, then a 2 port Ethernet adapter is the way to go.
If you will trigger both at 2fps or less, then a switch can work sharing bandwidth.
To share appropriately, set StreamBytesPerSecond camera feature down to 55MB/s from the default of 115MB/s and they will share nicely.
If you wish to hold images in the camera you can, StreamHold = True, then FALSE releases them over the wire.
Note: calculations are assuming mono8 images of 25MB.

その他の回答 (0 件)

タグ

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by