LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple acquisition with differente rate and sample number doesn't work

Hi,

 

i created a Labview application in order to acquire signals (2 digital signals and 1 analog signal). In order to do this, i use 3 different cards (PXI6535 and PXI6224).

Each kind of acquisition is made in different "while" loop.

Due to card limitations, the 3 task don't used  the same value of rate and sample number.

 

Here's my problem,

i start the 3 acquisition in the same time, and stop them also in the same time.


But, when i look in the TDMS file of each task, the lenght of acquisition is not the same. Moreover, it seems that some "while" loop which use the DAQmx Read task have been ran only on time.

 

For informations heres the value i used :

AI_Freq_Sample  = 10000
AI_Nb_Sample    = 1000
DI1_Freq_Sample  = 1000000
DI1_Nb_Sample    = 100000
DI2_Freq_Sample  = 100000
DI2_Nb_Sample    = 10000

 

And i've performed acquisition in continuous mode.

 

And a capture of the code i've made in attachement.

 

I hope i've been clear.

 

Thanks for your help.

 

 

Ps : In capture, one digital acquisition is doesn't show but it used as the same way that the other. Moreove, the sub-vi "xxx_Acq" are a simple vi which contains only the DAQmx read function (as shown in "labview_read.png" capture)

 

 

 

Download All
0 Kudos
Message 1 of 5
(2,705 Views)

did you check what happens in highlight mode?

if sth only runs once I often can see why by doing so.

0 Kudos
Message 2 of 5
(2,699 Views)

Hi,

 

yes i watched.

It seems that the while is made only once, because the Read function takes many time to be execute.

 

But, i defined sample rate and sample number to have a read duration of 100ms on each acquisition task.

 

Maybe i don't really understand the behaviour of these two parameters.

0 Kudos
Message 3 of 5
(2,696 Views)

Hi

 

1. I would suggest you post your code, if possible, so that we can have a detailed look.

2. What does 'length of acquisition' mean? Are you determining this by the number of data points acquired, or using time stamps of data acquired?

3. How did you determine that 'some while loop has run only once'? Please explain how were able to determine that one while loop ran only once, is it from the amount of data stored or from some other observations?

4. Can we see the tdms file logged which can clearly indicate the issues being faced?

 

It would be best if you could post the code (I use LV2010SP1).

 

I would also suggest you to use a 'wait' function with about 100ms wait duration in all your while loops.

Regards
Freelance_LV
TestAutomation Consultant
0 Kudos
Message 4 of 5
(2,686 Views)

Hi,

 

I agree. Could you post your code to see how does it work?

 

Sincerely

David S.| Certified LabVIEW Associate Developer
National Instruments France


0 Kudos
Message 5 of 5
(2,659 Views)