02-02-2009 08:10 AM
Dear all,
I have a problem with multi-device synchronization with my PXI-System: When starting a measurement, the devices do not start at the same time in spite of using a start trigger. The delay in start time is varying randomly between 150 nanoseconds and about 80 milliseconds.
My PXI-System consists of the following components:
The Software used is LabVIEW 8.2.1, NI-DAQmx 8.9 and MAX 4.5. "Trigger Line Routing" is set to "Dynamic" for all 8 lines.
I have created 3 tasks in the attached VI: Task 1 ("Drehimpulsgeber" = shaft encoder, 1 channel, Rate:1.25MS/s), Task 2 ("Heißfilme 1-8" = hot-film probes no. 1-8, 8 channels, rate per channel 250kS/s) and Task 3 ("Heißfilme 9-16" = hot-film probes no. 9-16, 8 channels, rate per channel 250kS/s). The 3 tasks are intended to start simultaneously acquiring analog voltage when hitting the "Start"-button. As the start trigger I use a digital pulse created on /PXI1/PXI_Trig0.
After having read the samples, the first recorded timestamp of each task is extracted, displayed and the time delay is calculated (see zones "Start time" and "Time Delay" on the front panel).
How can I achieve to synchronize the start of all three devices without getting that random time delay?
Thank you in advance.
Regards,
Matze
Solved! Go to Solution.
02-12-2009 10:22 AM
Hi MatzeK,
I would recommend to use as less sequence as posible, so I removed all the sequences from your VI. You can use the dataflow to sort the execution order. If you setup a trigger for a DAQ device it will halt until the trigger occurs or the timeout, but you can disable the timeout (use -1 as timeout value). I also would suggest to make the configuration before the acquisition starts. All these steps could have been done before.
I attached you a modified verion of your VI.
One question is left, why is there routing with the counter output inside the case structure?
Regards
TomBaum
02-12-2009 12:33 PM
Hi TomBaum,
thank you very much for your answer.
I followed your recommendation to remove the sequence and to use the dataflow to sort execution order. Unfortunately I couldn't notice an improvement concerning the random time delay.
What exactly do you mean by "making the configuration before the acquisition starts"? (unfortunately the upload of your modified VI didn't work correctly)
The routing with the counter output inside the case structure is used create a digital (start) impulse on PXI_Trig0. Using this counter I achieved the best results for synchronized start of the measurement.
I appreciate your input.
Regards
Matze
02-13-2009 03:26 AM
Hi MatzeK,
If you want to write in German we can also go on speeking German in this thread. I modified your VIs once again and I hope it works now. I used LabVIEW 8.2.1 to save it. Which version did you got?
I also want to inform you about that link http://digital.ni.com/public.nsf/allkb/78E44565FD87E7D686257108007F94F8?OpenDocument . This is a Knowledge Base for Multidevice task issues.
TomBaum
02-13-2009 06:43 AM - edited 02-13-2009 06:44 AM
Hi MatzeK,
Here is another example. Could you please try this too and send me information about the success?
TomBaum
02-13-2009 01:44 PM
Hi TomBaum,
thank you very much for your replies.
I have done a first test using your VI "testVI.vi" and the measurement now starts simultaneously. (S-series cards are perfectly synchronized: 0s delay between them; M-series card shows a tiny "delay" of 150 nanoseconds - this is completely sufficient for my application).
Many thanks for the solution of my problem.
Regards
MatzeK