LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Buffer with multiple data plots solutions

Solved!
Go to solution

How do I create a 5 min buffer with multiple data plots display?

My data consists of a waveform( to, dt and y) y is a 2D array.

I tried using the circular buffer found on teh NI forum but that cannot do multiple data plot display.

Any body else had this issue before?please help

0 Kudos
Message 1 of 29
(4,251 Views)

We need more information here.

 

From what I can infer, you want a 5 minute long buffer in the form of a waveform? This data, you then want to plot different ways? Or is it that you have mutiple sets of data and you want a 5 minute buffer of each?

Cheers


--------,       Unofficial Forum Rules and Guidelines                                           ,--------

          '---   >The shortest distance between two nodes is a straight wire>   ---'


0 Kudos
Message 2 of 29
(4,218 Views)

I want a 5 minute long buffer in the form of a waveform, but my waveform multiple y in it. because y is a 2D array or multiple column.

for example, I can display the waveform for colum one (t0, dt, y1) for 5 minutes. Then display the next collumn and so on. I want to be able to display multiple waveform  on the graph. 

0 Kudos
Message 3 of 29
(4,195 Views)

I want a 5 minute long buffer in the form of a waveform, but my waveform multiple y in it. because y is a 2D array or multiple column.

for example, I can display the waveform for colum one (t0, dt, y1) for 5 minutes. Then display the next collumn and so on. I want to be able to display multiple waveform  on the graph. 

0 Kudos
Message 4 of 29
(4,194 Views)

What circular buffer are you talking about on the forums? Is it this one?

 

If you're using that reference library, then you can just use hte Multi Channel Wfm option and build an array of waveforms to buffer. You'll have to code up something simple that will take your 2D array and duplicate the t0, dt, and attributes to go with each channel.

Cheers


--------,       Unofficial Forum Rules and Guidelines                                           ,--------

          '---   >The shortest distance between two nodes is a straight wire>   ---'


0 Kudos
Message 5 of 29
(4,183 Views)

Not that one, i think it's called waveform circular buffer.vi but it didnt work for multiple channels and I have a feeling this might not work either but I am going to try.

0 Kudos
Message 6 of 29
(4,167 Views)

This will work for what you're describing, you just need to manipulate the way your data is currently stored: t0, dt, 2D data ---> Array of t0, dt, 1D data.

Simple adaptation.

Cheers


--------,       Unofficial Forum Rules and Guidelines                                           ,--------

          '---   >The shortest distance between two nodes is a straight wire>   ---'


0 Kudos
Message 7 of 29
(4,163 Views)

Couldnt work. im generating 3 x 2000 data every 1000 ms.

I initialize it and set my channels and samples per channels to 3 and 2000 respectively I try to rea lower than 2000, I get under flow err and when i set ot 2000 I get over flow.

May I say that is also not the way I wanted to code it. I want to only set a buffer size to 300s which is 5 minutes worth of data and go on from there. The other waveform circular buffer works fine but it only work with one channel instead of multiple. i attach it for you  

0 Kudos
Message 8 of 29
(4,138 Views)

Here it is

 

Admin Note - Attachments removed per user's request

0 Kudos
Message 9 of 29
(4,132 Views)
Solution
Accepted by topic author ritch_by_nature

Alright, so now we're getting somewhere now that you've supplied a bit more information. 

 

Now I went and spent way too much time working on this. Check out what I did in the attached VIs. I essentially made my own waveform up that has a 2D array in it instead of a 1D and then altered your attached buffer VI to work with the 2D array. I hope this helps.

 

There's definitely a better way to do this, but I kinda just blacked out and went with it. You'll see in the main VI that I had to convert from an array of waveforms to a waveform of 2D data and then back again. This is a bit of extra memory and work for labview each iteration, but I guess it does ok.

Cheers


--------,       Unofficial Forum Rules and Guidelines                                           ,--------

          '---   >The shortest distance between two nodes is a straight wire>   ---'


0 Kudos
Message 10 of 29
(4,102 Views)