LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Memory management in displaying large amount of data

Solved!
Go to solution

Hi

 

I have a requirement to display large amount of data in front panel in 2 table & 7 charts over period of time 100hrs,for 3 channels,the data read from channels has to be written into binary file,then converted and displayed in front panel for 3 channels respectively .

If I am getting 36 samples after conversion for every 1 hour,till 83 hrs 2388 samples displayed in table and charts,the data is fine and samples are matching exactly.

After 90 hrs 45 minutes delay is observed based on theoretical calculation of samples,what could be the issue

 

I have PXI8108 dual core controller with 1 GB ram

AB
Kudos are Accepted
0 Kudos
Message 1 of 8
(2,974 Views)

This can be done in a relatively straightforward way.  If you have not read the LabVIEW help documentation on dealing with large data sets (Memory Management for Large Data Sets), you should do so before proceeding.  The basics are as follows:

 

  1. Do not plot more data than your display can render.  For example, it does no good to plot 2 million points on a chart if your display only has 1500 pixels of resolution.  Decimate your data for display as mentioned in the LabVIEW help.
  2. Use your file as a data buffer.  Write all your data to a binary file (TDMS, flat binary, or HWS are all well supported in LabVIEW).  If needed, you can maintain a display buffer in memory, or just recreate it every time it changes.  There are many different ways you can do this.
  3. Do no write any more data to a listbox or multicolumn listbox than is actually displayed.  You can scroll by using a separate scroll bar and regenerating data based on what the scroll bar settings currently are.

Good luck.  Let us know if you need more info.

 

0 Kudos
Message 2 of 8
(2,957 Views)

this KB article goes into the details that DFGray highlighted


"Should be" isn't "Is" -Jay
0 Kudos
Message 3 of 8
(2,947 Views)

That KB was integrated into the LabVIEW help a few years ago, which is why the remains dated.  Unfortunately, it appears that the code that goes with the KB has been deleted and does not appear to ship with LabVIEW.  You can pick up a copy of it here.

 

One further note - neither the KB nor the LabVIEW help topic mention the data value reference.  It should be used instead of single-element queues in almost all cases.

Message 4 of 8
(2,937 Views)

I have read all those things and but here the issue that, all data has to be displayed no other alternate

 

so i have to solve issue in this condition only

AB
Kudos are Accepted
0 Kudos
Message 5 of 8
(2,908 Views)

What I have observed,as long as labview is running;labview memory consumption is increased and memory in RAM left for Conversion and executing VI is minimizing time to time, so it is taking time for conversion as the RAM space is minimized

so queue is filling

AB
Kudos are Accepted
0 Kudos
Message 6 of 8
(2,852 Views)

My apologies for not reading your original post more closely.  The amount of data you are working with is actually relatively small.  You should be able to plot over a million points on a LabVIEW graph in under a second with your hardware.  Something else is going on.  Please post your code so we can take a look.

0 Kudos
Message 7 of 8
(2,841 Views)
Solution
Accepted by topic author AB@17

As

AB
Kudos are Accepted
Message 8 of 8
(2,793 Views)