10-26-2007 01:55 PM
10-26-2007 03:26 PM
10-26-2007 03:51 PM
May be I understand you wrongly,
but I don't want to save any exp data from locals. Locals are used only to save info file.
Also, I don't want to save any data from Detected Amplitude/Phase. They are for visual checking the measurement process.
I want to save raw measured data - it means, each of 8 input files has measured amplitude in a lot of instances. The demodulation is done later using different method, not in LabVIEW. That's why, locals are not important at all.
Also, to me the strangest thing, that only 1 input channel file is wrong, other 7 are right. But they have the same type of connection and everything was right for a lot of time. Also, if to use Probe - it shows the values of array in this channel through the whole period of measurement, it means, as I think, problem is not in wrong measurement, but in wrong displaying it. But, why?
10-26-2007 07:42 PM
A couple of coding tips. You can expand the index array function downward so that you can get multple elements at once out of one function. With no constants wired in, it would give you element 0, 1, 2, .... for as many inputs as you have dragged it down. The unbundle by name function. You can drag that down as well to get multiple values out of one function, then you can select which elements of the cluster you want. This will save the creating memory copies by branching the waveform wires before hand.
There is probably a lot of room for looping and doing other indexing array functions in the program.
10-26-2007 08:10 PM - edited 10-26-2007 08:10 PM
Also your complex formating operations can de done with a single "format into string", with all these extra text part of the format.
Message Edited by altenbach on 10-26-2007 06:10 PM
10-26-2007 09:37 PM - edited 10-26-2007 09:37 PM
Thank you very much for your replies. I will work on your tips.
to altenbach:
I suppose, that separate threads mean that the data are read simultaneously (not considering the time delay due to ADC switching between channels, which is possible to calibrate very well (we use PCI 6052E with only 1 ADC)). If using a loop can say, that the channels are read simultaneously? We need to have as much precise measurements as possible.
Anna
Message Edited by mikhaylova_anna on 10-26-2007 09:38 PM
10-26-2007 09:52 PM
I'm not sure what threads you are referring to here. But the channels are being read simultaneously when you have your DAQmx task set up to do multiple channels multiple samples. Or at least as simultaneously as a card with 1 ADC can handle. Once the data is collected, then you are just programmatically sequencing through it for analysis with the most efficient code possible.
@mikhaylova_anna wrote:
I suppose, that separate threads mean that the data are read simultaneously (not considering the time delay due to ADC switching between channels, which is possible to calibrate very well (we use PCI 6052E with only 1 ADC)). If using a loop can say, that the channels are read simultaneously? We need to have as much precise measurements as possible.
10-27-2007 01:37 AM
I did not touch the DAQ parts. the only thing that is done in the loop is the writing to the various numbered files.
Most likely, your hardware can only write one file at any given time so it does not make sense to try to write them in parallel anyway. Think about it!