LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Best method to pass high speed graph data from a VI Server called VI

I'm got some data from an AI Read loop in a called VI Server VI, which I'd like to pass back efficiently to the Main GUI. What is the best method to achieve this? Globals, notifers, queues - what are the merits of each and ease of implementation?

Any thoughts?
0 Kudos
Message 1 of 4
(2,457 Views)
A couple questions first:

1. When you say "high-speed graph data" how fast are you really talking about?

2. Is the AI Read loop on the same machine as the GUI? If not, what kind of network is connecting them?

3. How much data are you talking about moving?

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 2 of 4
(2,457 Views)
Hello there,

1) 41kS/s per channel x 8 channels x 40 mins (2400 secs) = 787.2 M Samples (worst case - in practice, probably 6 chans at 4kHz). Only one trace would required to be displayed as the sensor units dictate that a multi-plot would be meaningless unless a voltage Y-scale were used.

2) Same machine. So I'm not thinking DS - but this may be an option.

3) The data is been read, dumped to bin stream file and I'd like to update the main GUI as a resonable update rate for the user in the same AI read loop (see 1)).

-Chroma
0 Kudos
Message 3 of 4
(2,457 Views)
Given that the GUI and the acquisition loop are on the same machine there shouldn't be any need to resort to anything too fancy. The main thing you have to resolve is how much data you want to display at once.

The problem is that if you display an entire acquisition you will be plotting considerably more datapoints than there are pixels on your screen. The resulting plot could easily devolve into an undifferentiated mush. How many datapoints are you planning to read from the acquisition buffer at once?

Perhaps, given the acquisition rates involved and the amount of data you are capturing, a better solution for the acquisition GUI might be some sort of summary display (average value, running min/max, trend line etc). Then you could provide
a viewer/browser application that would allow the user to examine the results in detail using a combination of a dataset overview and a zoom function to examine specific signal artifacts.

Also remember that you can have multiple Y axis on a plot. This would allow you to display the sensor output in engineering units (if desired) with no loss of resolution.

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 4 of 4
(2,457 Views)