03-15-2012 10:30 AM
Dear all,
I am writing a data acquisition routine on a system utilizing PCI-DAS 4020/12 Multifunction DAQ board. I am acquiring data using all 4 channels, 200,000 samples per event. Since this is a 12-bit card, this operation requires a pre-allocated contiguous memory of 1.6 MB, which is preallocated by running a card utility before I start LabView. The FIFO size of the card is only 32,000 samples. However, since my combined sampling rate is lower than the DMA transfer rate it is possible to stream the data into a computer memory using DMA transfer. When I am taking data in a single measurement, everything works fine.
When I try to put this acquisition insice the cycle, eventually (within a few minutes of operation) I am getting "Not enough memory to complete this operation" message.
When I monitor the computer memory usage by LabView, I noticed that it increases about 20-30 kBytes per cycle (every time the memory increase is slighly different), so eventually all memory is being used up.
In my program, I don't use any local variables or property nodes, and at that point I am just running the program in circles without even saving the data anywhere. I don't create arrays. The only memory-related operation that I am using is "cbMemoryReset" function which returns the pointer to preallocated memory block to its start at the end of the data acquisition. The data are acquired using "AInScFg" VI supplied by Measurement Computing.
Do you have any suggestions what can be wrong?
The system configuration: custom-build PC,
motherboard ASUS P5G41T-M LX
CPU: Intel E5800, 3.2 GHz, dual core
4 GB of RAM
OS: Windows XP SP3
LabView 6.1
Thanks!
Dmitry.
03-16-2012 04:32 PM
Dmitry,
There is not necessarily anything wrong with your setup, however anytime you are acquiring data faster than you are processing/writing to file/etc. there is always a possibility to max out LabVIEWs available RAM.
You are sampling on 4 channels simultaneously, with 200k samples per channel per event. At what time interval are these events occuring and at what rate are you removing the data from memory?
-Nick-
10-15-2013 09:14 PM
Hi,
how did you monitor the memory by LabVIEW ? Which VI did you use?
Thank you.