LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Intensity Chart Probelm

Solved!
Go to solution

Hello, i am using intensity chart, and my x axis should be real time. I tried to make property node and the minimum i put 0 and maximum 86400, for 24 hour. Also i selected from properties to show x axis with relative time. But labview is giving me memory error when i am trying to create array with 86400 indexes and 6000 colums to fill intensity chart. Is there any possible way i can remake this chart using minutes not seconds as increment points. So i can make lower array without errors.

0 Kudos
Message 1 of 12
(3,443 Views)

Hi guy,

 

trying to create array with 86400 indexes and 6000 colums

Lets do some simple math: 86400*6000 = 518400000 = 518.4 million elements…

When each element needs 8 bytes (DBL value!) you will need 518.4e6*8 = 4147.2e6 bytes = 3955.1 MiB (or roughly 4GiB)! Using 32bit LabVIEW you cannot handle this much memory!

 

Using 64bit LabVIEW you could handle this memory reqirements - but is it really needed to put 500e6 data elements into an intensity chart displaying maybe 400*400 pixels???

 

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 12
(3,417 Views)

Yes, i understand it's imposible to create , but then why is intensity chart designet that way , so you need milion element array to show 24 hour? Maybe there is an easier way to make that happen,

0 Kudos
Message 3 of 12
(3,402 Views)
Solution
Accepted by topic author HelloGuys

Hi guy,

 

Yes, i understand it's imposible to create

Ok, fine.

 

why is intensity chart designet that way , so you need milion element array to show 24 hour?

Wrong…

You would need an array of this size to keep ALL data for the last day in memory - but nobody is forcing you to keep ALL THIS DATA in memory!

You could also input one column of data (6000 elements) per second, while setting the history size to reasonable size (like 3600 entries)…

 

Maybe there is an easier way to make that happen,

Yes, sure.

Decimate your data into reasonable array sizes. It doesn't make sense to plot 500million points in a chart only showing less than 1million pixels!

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 4 of 12
(3,395 Views)

And what about for example i reached 18:00 o clock, with seconds it's something like 50000 seconds. so i if i need to show data for 18:00 i should have array sized with 50000 indexes, or i understand wrong? I mean let's say you want to show data from 17:00 to 18:00 then for 17:00 it's represented as 40000 indexes, and 50000 for 18:00 . So you need those big arrays, anyways.

0 Kudos
Message 5 of 12
(3,388 Views)

An intensity chart takes one column (1D array) with each update and the total memory is determined by the history size. So, just update 1/minute and adjust dx accordingly.

0 Kudos
Message 6 of 12
(3,363 Views)

Would you please give me your example not just default examples with real time timings in it. I would be very grateful

0 Kudos
Message 7 of 12
(3,341 Views)

Hi guy,

 

which example are you referring to? We only gave suggestions/comments on your questions!

 

What about attaching your VI? It's the VI YOU have problems with!

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 8 of 12
(3,338 Views)

Here is the vi i attached, can we make it work with real time data, wtihout full memory error.

0 Kudos
Message 9 of 12
(3,336 Views)

Hi guy,

 

your VI runs just fine without any "memory full" message…

 

Again I recommend NOT to display 86400×6000 data elements in your 300×200 pixel wide chart. IT DOES NOT MAKE SENSE!

 

can we make it work with real time data, wtihout full memory error.

Yes, sure.

Again I repeat the suggestion given before: decimate the data to reasonable array sizes…

 

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 10 of 12
(3,334 Views)