06-14-2008 10:03 AM
06-14-2008 02:03 PM
What you want sounds like a reasonable usage for OOP.
Essentially, you can create a cluster of all the data needed for the subVI and then create set methods for it. That way, you can set each of the cluster elements and when you're ready pass the entire cluster using a queue (this can also be a method).
This can be done either using LVOOP or GOOP, since each will allow you to create any number of clusters.
In GOOP, it can look something like this (from here😞

The VI on the left creates a new cluster which is then refered to by its reference. If you want another cluster, you just call the VI again. The cluster is guaranteed not to have race conditions by the framework.
You can see some more details if you follow the link.
In LVOOP, you will either need to make sure you don't split the object wire (because that creates a new cluster) or use a wrapper to get the reference behavior you see above.
Incidentally, using more than one queue for communication is a perfectly valid method and in fact you can use any number of dynamically generated queues just as you can use any number of TCP connections.
06-14-2008 03:19 PM