06-30-2015 08:16 AM
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
Solved! Go to Solution.
06-30-2015 10:24 AM
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> ---'
06-30-2015 02:12 PM
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.
06-30-2015 02:12 PM
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.
06-30-2015 02:28 PM
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> ---'
06-30-2015 02:51 PM
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.
06-30-2015 02:57 PM
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> ---'
06-30-2015 03:37 PM
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
06-30-2015 03:41 PM - last edited on 10-26-2015 04:56 PM by LiliMcDonald
Here it is
Admin Note - Attachments removed per user's request
06-30-2015 04:48 PM - edited 06-30-2015 04:52 PM
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> ---'