Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Cameras are synchronized, but acquisition is not started simultaneously

Hello everyone, 

 

I have a problem after synchronization of 15 GigE cameras. Cameras are controlled in Labview and synchronized over Timestamp Modulo Event. They make photos simultaneously with accuracy up to 1 millisecond. But the problem is, that the acquisition is not started at the same time on all cameras.

For example, i make 5 photos of a stopwatch with a framerate of 1Hz. Some of the cameras captured e.g. following time on the stopwatch (Minutes:Seconds:Milliseconds):

00:01:00, 00:02:00, 00:03:00, 00:04:00, 00:05:00

while the other:

00:02:00, 00:03:00, 00:04:00, 00:05:00, 00:06:00

They are synchonized, but there is a delay of one photo.

Cameras with delay are not always the same, they vary after every start. Also the framerate has a big influence: the higher is the framerate the larger is delay. I.e. some cameras can start for example 5-6 and more photos later than the other. Only at the framerate of 1Hz there are no delays at all, but this is too slow for my purpose.

 

Is there a way to force cameras to start aquisition simultaneously? For example may be it is possible to add a condition that cameras wait until all of them are ready. Or may be it can be done in some other way?

 

Thank you,

 Vlad.

0 Kudos
Message 1 of 4
(1,813 Views)

If you are using 1588/PTP to synchronize them (which appears to be how that Timestamp Modulo event was designed), you could use something like a scheduled Action command to start them at a shared future timestamp value. Unfortunately IMAQdx doesn't expose this in the API today, but it is fairly trivial to generate the packet using the UDP primitives.

 

Of course, if they are all generating frames synchronously and it is just their start times that are off (leading to extra images on some cmaeras), you could simply discard frames until they are all on the same timestamp, and start processing from there.

0 Kudos
Message 2 of 4
(1,754 Views)

Dear BlueCheese, is there any vi example how to generate action command in LabVIEW? Thank you.

0 Kudos
Message 3 of 4
(1,621 Views)

Hi TomasGres,

 

If you are using an IC-317x, CVS-1458, or 8237R, where there is support in hardware for generating action commands directly, there is an example installed called "Vision RIO GigE Camea Network Trigger for 8237R" (yes, the name is incorrectly limited in scope).

 

If you just want to send an action command from the CPU instead (either to trigger multiple camera simultaneously or to tell the camera to trigger at a future scheduled time), I have attached two VIs that can do that.


Eric

Download All
0 Kudos
Message 4 of 4
(1,610 Views)