LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Reading outputs through layers of subVIs

Hi all, I have a situation where my predecessors built a system with a main VI running a series of subVIs that ends with a VI to read out some oscilloscopes with the appropriate trigger. I want to change this system a little so that the scope readings are displayed on the initial VI, but am not certain of the best way to do it. The two ways I can see of doing it are defining the scope data as outputs to the last VI, and then working backwards so that they're also outputs of the first subVI that the main VI calls, which would be quite tedious, or I could just make a cluster of the outputs of this last VI as a global variable that the first VI reads. I think I know how to do both of these solutions, I'm just wondering which of these (or other) ways would be the more 'proper' way to do things.

Thanks in advance

0 Kudos
Message 1 of 3
(2,400 Views)
In my opinion, passing data through the connector panes would be the preferred way.
0 Kudos
Message 2 of 3
(2,391 Views)

Without knowing a lot more about the existing architecture its very hard to recommend a "Best" approach.

 

Attaching a snipette of the data acquisition vi would help us help you.

 

That being said, one possible (and common) solution is to use a Named Queue to pass the data from the acquisition to the User Iterface for display.  This "Shoe-Horns-In" fairly easilly without needing to modify every layer inbetween the acquisition and display.  Of course, its better to design the code before you code it rather that write the requirements after the code has been working for years.  

 

You do have a source code control system in place right?


"Should be" isn't "Is" -Jay
0 Kudos
Message 3 of 3
(2,384 Views)