09-10-2009 05:48 AM - edited 09-10-2009 05:52 AM
Dear LabView Community,
I have a little problem. I want to test the synchronization of two GiGe Basler scout cams.
I want to solve it by software and not recording a clock.
Are there *.vi`s for this? Or do I have to take one of the timer functions?
But if I take these, i have the problem how to start the clock?
Thank you for some suggestions.
Best Regards from Giessen, Germany.
Jost
In Use: LabView 8.6 and Vision Development Module 2009, cameras: Basler scA640 - 120gm via gigabit switch (Intel)
09-10-2009 08:22 AM
Dear Community,
after little playing around I tried to solve it in this way:
I put every camera in a single sequence and added the timer function (see Picture: Blockdiagramm attached),
and also writing all single timesteps in a file. Then subtracted the data (Cam 1 - Cam 2), and put these data's in a Diagram (see Picture: Diagram_excel).
So please, tell me, do you think it makes sense???
Thank you for evaluation/opinions
09-11-2009 03:56 AM
Hey Wulthur,
you are able to use the error wire for the init state (before jump into while loop).
Like in the figure 2: http://zone.ni.com/devzone/cda/tut/p/id/4322
And in the while loop a single snap.
With this code you use the software timing to get images.
Kind regards,
Elmar
09-15-2009 04:47 AM - edited 09-15-2009 04:49 AM
Dear Elmar,
thank you for this advice.
But my problem is,
that I Can`t find these *.vi`s in my lib.
Is this a special module?
Because after downloading the samples
from your linked page, my LabView Version can`t find several
vi`s.
Where might be the error?
Greetings from Giessen, Germany.
Wulthur
09-15-2009 04:56 AM
Hello Wulthur,
the vis in the figure 2 are daqmx functions for data acquisition.
You dosent need these vis for your image acquisition.
Please use your own code and wire the error connection like in the figure 2.
Kind regards,
Elmar
09-16-2009 04:24 AM
Dear Elmar,
thank you for the advices given. Do you mean like this ? (attached 3gigecam.vi)
I put these Timer functions inside the sequence to test the delay, but I am not
sure about the data given by these functions (also attached one example file cam1.zip).
Can you give me an advice what these columns mean?
Thanks Wulthur
09-16-2009 04:56 AM
Hey Wulthur,
in your vi you use the error wire to start the 3 cams via software at the same time.
Thats ok.
But please delete the file express vi to get the time.
Its better to create a sequence with 3 frames.
With a substaction you will get the time for the acquisition.
Because with the express file I/O you have always the file open and close.
And this with every interation so the performance is low.
Kind regards,
Elmar
09-17-2009 04:59 AM
Dear Elmar,
now it works perfect, I get the same timestamp from every Camera.
I follow your advice with the sequences, but also I deactivated one core of the CPU.
Because I think 2 Cores and three Cameras does not really fit.
So I will expand the program up to 4 Cams. For this I will reactivate the second core.
Now my question is:
Is it possible to configure the CPU by LabView, so that I can say: " Core 1 takes Cam 1 and 2, and Core 2 takes Cam 3 and 4"?
Sorry for this description but acutually I am a biomechanic engineer at first and second a software engineer!
Thanks for understanding.
Regards from Germany.
Wulthur
Attached WORKING *.vi for 3 GiGE Cams.
09-18-2009 03:58 AM
Hello Wulthur,
you are able to choose the cpu core with the timed loop structure.
here you will find more Info about that: http://zone.ni.com/devzone/cda/tut/p/id/6099
Kind regards,
Elmar