Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple 6900 inputs synchronisation with nidaqmxbase

Hello,

I want to know if it's possible to start input continous acquistion on two or three 6900 ?
I do this scenario but other device dont start acquisiton, probably a bad trigger use, can you help me ?
For information a can get 3 devices work (non synchronized )when i mouve out triggering.

// Creating task
DAQmxBaseCreateTask("",&task1);
DAQmxBaseCreateTask("",&task2);
DAQmxBaseCreateTask("",&task3);

// Create 6 inputs per devices
DAQmxBaseCreateAIVoltageChan(task1,"Dev1/ai1",....
DAQmxBaseCreateAIVoltageChan(task2,"Dev2/ai1",....
DAQmxBaseCreateAIVoltageChan(task3,"Dev3/ai1",....

// Setting timing
DAQmxBaseCfgSampClkTiming(task1, "OnboardClock", sample_rate, DAQmx_Val_Rising, DAQmx_Val_ContSamps, internal_buffer_smp_count);
DAQmxBaseCfgSampClkTiming(task2, "OnboardClock", sample_rate, DAQmx_Val_Rising, DAQmx_Val_ContSamps, internal_buffer_smp_count);
DAQmxBaseCfgSampClkTiming(task3, "OnboardClock", sample_rate, DAQmx_Val_Rising, DAQmx_Val_ContSamps, internal_buffer_smp_count);

// Setting triggers Dev1 "OnStart" to task2 et task3 (trying  "/Dev1/ai/StartTrigger" or  "Dev1/ai/StartTrigger")
DAQmxBaseCfgDigEdgeStartTrig(task2, "/Dev1/ai/StartTrigger", DAQmx_Val_Rising );
DAQmxBaseCfgDigEdgeStartTrig(task3, "/Dev1/ai/StartTrigger", DAQmx_Val_Rising );

// Starting
DAQmxBaseStartTask(task3);
DAQmxBaseStartTask(task2);
DAQmxBaseStartTask(task1);

// Reading
DAQmxBaseReadAnalogF64(task1,...);
DAQmxBaseReadAnalogF64(task2,...);
DAQmxBaseReadAnalogF64(task3,...);


This produce :
ERROR 200284, Some or all of the samples requested have not yet been acquired. ....

The 5 sec timeout elapsed on first DAQmxReadAnalogF54 for task 1, i try to increase but no success....

Can someone help me ? Does is use the trigger corrrectly ?

Thanks in advance

Rom1nux

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

Hello Rom1nux,

 

I can read that you use two or tree devices "6900"

Don't you mean 6009 ?

 

Regards,

0 Kudos
Message 2 of 4
(2,801 Views)

Hello NIF_Vicent_O,

 

Yes i mean 6009, sorry for that, i see my mistake just after post, but i cant edit it...

 

I try to use PFI0 and "master and slaves concept", this work but only for daq startup, and after started, each paralelles clock run idenpendently...

In continious mode, after 24H, channels synchro is not very accurate...

 

I think it's not possible to do something well with multiples 6009/6008, but if you get an idea to synchronize 6009 clocks, i want to know 🙂 ?

 

Regards,

 

Rom1nux

0 Kudos
Message 3 of 4
(2,798 Views)

Hi Rom1nux

 

Unfortunately, it is not possible to use an external signal as a clock with the NI 6009

The NI 6009 only works with an internal clock

 

Regards,

0 Kudos
Message 4 of 4
(2,795 Views)