Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

PCIe-6363, multiple tasks synchronized with different rates

We're in the homestretch...

 

1. My comment about using a scope to check sync was kinda generic and mainly appropriate to output signals (my mind was on another thread related to syncing outputs).  Your counter tasks are input tasks so there's really nothing to see on a scope that would show sync or not.  My bad for the careless advice without caveats.

 

2. Your method of enqueuing data *definitely* says nothing about sync.  It just grows by 1 element for every iteration of the loop.  Your software loop rate has no relationship to the tasks' sample rate.

 

3. A better way to test sync for the counter tasks will involve running an example program in parallel.

- bring up an example for continuous pulse generation.  Start it running at maybe 10x your main app sample rate.  Be sure you use a different counter than the 2 you need for your app's counters -- your X-series devive has 4 so you should have a couple spare.

 

- tweak your program so that both counters use this pulse train signal as their edge count terminal.  Also, in the main reading loop, change your queue type to be a cluster of 2 count values.  Bundle both counter reads into a cluster and stuff them into the queue as a pair.

 

- to check sync, make sure every pair of values agree with each other.  They should also increment by 10 with each sample (assuming the example pulse train is running at 10x the AO sample rate).

 

 

-Kevin P

ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.
0 Kudos
Message 11 of 11
(356 Views)