09-11-2005 03:16 PM
09-11-2005 06:32 PM
Yes, you will have to be very wise concerning resource utilization. Assuming your data is single precision floats @ 4 bytes per value, you are looking at 4Mbytes per channel of data, or 32M for all 8 channels, or 48M for 12 channels (if the data is double-precision floats, double all the numbers). Given a raw dataset of this size the code doesn't have to be very inefficient to use-up truly awe-inspiring amounts on memory--which it apprently is...
Question: do the datafiles need to be human readable, or can you store binary data? If you can store binary data the files will be smaller and the memory usage will be lower.
Also, can you post your code?
Mike...
09-11-2005 07:43 PM
Yes, at this point, I am desperate, willing to try anything. I only wish that a graphing s/w such as Matlab or Techplot can read the data and also Labview itself. Anything that won't cause the VI to hang or quit with valuable data in memory will be a life saver.
I shall post my code tomorrow when I get back to my lab PC. Thank you once again.
09-12-2005 01:01 AM
Hi There
save in binary format , it is possible for matlab to be able to read saved binary format .You just have to modify data
to readable format.
Show us some code then we can help.
chow
xseadog
09-12-2005 05:18 AM
Hey PKP,
Your post made me wonder if it was reasonable to store data as fast as you're wanting to. On my 1.4G Centrino (Toshiba laptop), it's borderline - because of occasional extra-slow writes.
Here's the VI I used to test with. Here, it takes practically no time to generate fake data, but if your DAQ (and any subsequent processing) is significant, you may be able to do the DAQ in parallel with the file IO, (acquire the first data-set, acquire the second data-set while filing the first, acquire the 3rd while filing the second, etc.)
Cheers
09-12-2005 02:02 PM
My test requirements are such that all channels have to be recorded simultaneously and so a sequential capture and write process would not work.
I am attaching my program in which I have only 6 channels writing into individual files. I have to finally increase the number of channels to 12, to record quantities such as pressures, flow rates, and outputs of load cells, accelerometers, etc.
Thanks,
Philip
09-12-2005 02:51 PM
09-12-2005 03:59 PM - edited 09-12-2005 03:59 PM
@PKP wrote:
My test requirements are such that all channels have to be recorded simultaneously and so a sequential capture and write process would not work.
My example simulates a DAQ process, returning/logging 10 channels "simultaneously", continuously. In your case, you would stop the process after 10 seconds. This way you don't need to have a 32 (or 48Meg) DAQ buffer, however, you would have to empty a [smaller] DAQ buffer periodically, before it overflowed.
Note that while your Channel-scan rate is 100KHz, there's (probably) one, shared, AtoD conveter on the DAQ board, in which case the first sample from channel 0 and the first sample from channel 1 are actually acquired at [slightly] different times.
Cheers
Message Edited by Dynamik on 09-12-2005 04:00 PM
Message Edited by Dynamik on 09-12-2005 04:01 PM
09-12-2005 04:02 PM
Thanks Dennis. I tried the VI you mentioned and it works quite well. I was able to put a logical condition so that it stops recording after 10seconds. Also I was able to use another VI to read the data and use it to write a txt file from the binary file.
Now, I want to acquire up to 12 channels of different quantities and units. Can I just repeat this circuit diagram12 times in one VI , and specify each signal's scaling and units seperately, or is there a way to seperate the individual channels out of the task and then save them seperately?
Thanks
Philip
09-12-2005 04:19 PM