LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Data display slow because I have too many DAQs displaying or poor coding?

Attached is my VI, and I have 3 NI daqs running and giving me voltages for all the channels (32 total by the end of this, this is only the start). I want to display and record this information in real time. and still have options for recoding time events, etc. Am i going about breaking up my channels between the graphs and displaying everythign properly in the right way?  in addition to the recording setup i have? I really like how the daqmx lgos the data in a new sheet automatically each time and writes out the goup name, etc. it is exactly the type of file i want to have by the end of this so i gave up on getting a producer/consumer queue steup for the data collection that some people had recmmended to me. so you can Ignore the queue stuff, it is there for something i wanted to try and does nothing right now. just didnt feel like deleting it and couldnt figure out how to "comment" out labview blocks.

 

thank you for the feedback.

0 Kudos
Message 1 of 23
(3,778 Views)

I would avoid the Dynamic Data Type.

You can wire the array of Waveforms directly into your Waveform Charts.

I don't understand what you're doing with the Tanks and pushing the Waveforms into those.

What are you intending to do with that queue? It doesn't seem to do much.

Keep the label on your Record Event Button.

 

You may want to consider using an event structure instead of polling that Record Event button.

 

I think it's probably your Data conversions which are keeping your displays slow.

 

EDIT: Sorry, I missed your previous comments about the Queue. Look into using the Diagram Disable Structure. In this case, you could probably just delete all the queue stuff.

0 Kudos
Message 2 of 23
(3,752 Views)

@Taki1999 wrote:

I would avoid the Dynamic Data Type.

You can wire the array of Waveforms directly into your Waveform Charts.

I don't understand what you're doing with the Tanks and pushing the Waveforms into those.

What are you intending to do with that queue? It doesn't seem to do much.

Keep the label on your Record Event Button.

 

You may want to consider using an event structure instead of polling that Record Event button.

 

I think it's probably your Data conversions which are keeping your displays slow.


 the queue is leftover from a previous thing, it does nothing and i know that.

 

The tanks will be connected to pressure sensors so the voltage value that they record from a grid of sensors will be displayed best in that way, since I could not figure out without more effort how to get an intensity plot of a grid of sensors. the tanks do just fine and will relay the information needed.

 

How do i avoid a data type? It is the data type that is given to me if i want to use the daq to read voltage values correct?

0 Kudos
Message 3 of 23
(3,749 Views)

labview12110 wrote:

How do i avoid a data type? It is the data type that is given to me if i want to use the daq to read voltage values correct?


No, you get an array of waveforms.  You are then changing that into the Dynamic Data Type to write to your charts.  Use Split 1D Array in order to split your Array of Waveforms and write the two resulting arrays straight to your charts.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Message 4 of 23
(3,745 Views)

@labview12110 wrote:

How do i avoid a data type? It is the data type that is given to me if i want to use the daq to read voltage values correct?


The DAQ Reads give you Waveform Data (brown wires). You're using Merge Signals which converts that data into the Dynamic Data Type (blue wires).

Instead of Using Merge Signals, Use the Build Array function to keep the data as Waveforms and wire the array of Waveforms to your Waveform Chart.

 

 

Message 5 of 23
(3,743 Views)

Does split 1d array allow me to choose which array elements go to which graph? or how does it split them? Say i want to change somehting on the fly later, or add an option on the front panel to move inputs from one graph to another for comparison, will it allow me to do that or it splits them sequentially?

0 Kudos
Message 6 of 23
(3,741 Views)
Splits them sequentially and it converts to the evil dynamic data type. Stick with the split array.
Message 7 of 23
(3,728 Views)

@Dennis_Knutson wrote:
Splits them sequentially and it converts to the evil dynamic data type. Stick with the split array.

okay im getting some mixed signals here (get it Smiley Tongue)  is it a good idea to use the split or not? Crossrulz said that it would help me avoid the data type...

0 Kudos
Message 8 of 23
(3,721 Views)

@labview12110 wrote:

@Dennis_Knutson wrote:
Splits them sequentially and it converts to the evil dynamic data type. Stick with the split array.

okay im getting some mixed signals here (get it Smiley Tongue)  is it a good idea to use the split or not? Crossrulz said that it would help me avoid the data type...


I say to use the Split Array.  It does the splitting sequencially and you can dynamically tell it where to do the split.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 9 of 23
(3,718 Views)

I will give it a try thank you both!

 

As far as the data collection and logging is concerned I can't get any faster or more reliable than what i have now correct?

 

I believe that I asked this in another read on the DAQ forum to you as well but, when i hit the record event button I get way more than  1 line in my txt file, and the time recorded is duplicated over several milliseconds. why is this the case? does my while loop move faster than the write and it keeps writing the same time stamp over and over? All i really want is one line that has whatever i write in the string box on the front panel, and a time stamp for when it happened.

0 Kudos
Message 10 of 23
(3,713 Views)