NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW/TestStand In-Place Structure?

I'm trying to minimize latency as much as possible at the interface between TestStand and LabVIEW regarding data acquisition (actually using 4 Measurement Computing analog input boards but the concepts should apply regardless of which hardware).

 

Rather than constantly calling a VI (in a while loop) requesting samples I was thinking about giving the VI the SequenceContext and letting it set Fileglobals directly.  I'm setting FileGlobals and will provide a sequence that as many as 4 simultaneous threads could call all wanting access to the same data.

 

For various reasons, I actually want to set up a somewhat large ring buffer on the TestStand side ~75MB holding "pages" of samples.  Essentially, I'll be taking 100-200ms chunks of data and stacking them together in these ring buffers up to 20 seconds worth of time.  I'm aware that I'll be missing samples in between each chunk and I'll benchmark how bad this is but based on some initial experiments with the idea I think I'll be able to live with it.

 

So...that brings me to the actual question, is it possible to somehow give LabVIEW the 'pointer' to these memory location of TestStand and have it operate on it directly?

 

Am I making a bad assumption that constantly calling a VI and passing potentially large blocks of data around isn't a performance problem?

0 Kudos
Message 1 of 2
(3,006 Views)

There is the "Set Property Value.vi" in LabVIEW.  It is polymorphic. Just set the lookup string to "Fileglobals.Variable".  The dot notation is kind of important.  I do not know what kind of performance hits/gains this will give you though.

TestStand Palette.PNG


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 2 of 2
(2,985 Views)