LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

scale daqmx

Solved!
Go to solution

Hi,

 

I have one question (probably stupid!): I'm acquiring data with a PCI-6281. What I want to measure is a voltage in the scale of nV. But if my values are bigger than 10nV, my software doesn't record the good value. I know the range for my card is between -10 and 10V. So how can I change the scale to record correctly values bigger than 10nV?

 

Here is my simple software in LV 8.2.

 

thanks for your help!

 

Sophie

 

PS: I'm acquiring data at 300kHz and I need to acquire during 1min. So i'm saving the values in multiple files in order to have the possibility to make the analysis after the record. If I want to save in one file, this one is too big and LV crashes...if you have any suggestion, I'm open! Smiley Wink

Download All
0 Kudos
Message 1 of 17
(3,839 Views)
Solution
Accepted by topic author stage84

Hi there

 

1. The data sheet fpr the PCI-6281 says valid Voltage ranges: ±10 V, ±5 V, ± 2 V, ±1 V, ±0.5 V, ± 0.2 V, ± 0.1 V, so adjust the "minimum value" and "maximum value" of "DAQmx Create Virtual Channel.vi" to ± 0.1 V for highest accuracy.

 

2. Your loosing data at the "Array to spreadsheet string" function, because you're formatting only with "%.3f ". Save the data as binary 2D DBL-Array and convert to string representation when analysing the data offline, but with more significant digits, e.g. "%.6e". This will also increase performance of DAQ.

 

3. You should separate the DAQ from the File-IO part. In your VI the DAQ has to wait for the File-IO to finish before acquiring the next data samples. During this you will not acquire any data. Take a look at the producer/consumer design pattern (File->New->VI->From Template->Frameworks\Design Patterns).

 

4. For file names you may consider to use a name containing date and time. Try the "Format date/time string" function and use "Data_%Y-%m-%d_%H-%M-%S.dat" as format specifier. You then won't need to check if the file already exists. This will also increase performance.

 

Best regards
chris

CL(A)Dly bending G-Force with LabVIEW

famous last words: "oh my god, it is full of stars!"
Message 2 of 17
(3,820 Views)

Hi Chris,

 

thanks a lot for your answer! I have changed my VI as you suggested. I just don't understand the last point for the file name....

 

best regards,

 

Sophie

0 Kudos
Message 3 of 17
(3,810 Views)
Take a look at the attachment
Best regards
chris

CL(A)Dly bending G-Force with LabVIEW

famous last words: "oh my god, it is full of stars!"
0 Kudos
Message 4 of 17
(3,806 Views)

Could you please save the file in LV 8.2?

 

thanks

0 Kudos
Message 5 of 17
(3,801 Views)
Yes
Best regards
chris

CL(A)Dly bending G-Force with LabVIEW

famous last words: "oh my god, it is full of stars!"
0 Kudos
Message 6 of 17
(3,798 Views)

Hi,

 

I have just tested the software with the real set-up but I still have the problem of scale...Before changing the min and max ( I put it at +-10), my values were about 5nV but I cannot I have something above 10nV. Now with the scale of +- 0.1V, I cannot obtain a value above 0.1nV... Where is the problem?

 

thanks for your answer!

 

Sophie

0 Kudos
Message 7 of 17
(3,792 Views)

Do you have an amplifier in front of your device? If I understand your post, you are trying to measure voltages in the order of nv (10**-9 v). If you set device to the most sensitive mode, +/- .1 V it has a resolution of 700 nV at best.

0 Kudos
Message 8 of 17
(3,791 Views)
Yes I have an amplifier...
0 Kudos
Message 9 of 17
(3,788 Views)
It looks like you have a problem with the scaling of your amplifier. You will need to adjust it to match your requirements. Remember the unit measures +/- V and has a limit of 18 bits. This gives you a resolution of 262144 values or about a dynamic range 10**5 order (if you measure only positive volts). If you want to measure a 100 nV then your resoultion will be at best .001 nV
0 Kudos
Message 10 of 17
(3,779 Views)