Alex,
my picture above is simply the equivalent BD of your top level VI and sub VI.
Anyway, to establish online monitoring and controlling of a subVI there are several options available. The following list is a ranking - ascending order - of the preferred methods which should be used for RT:
- Global Variable (++++) [shared ressource]
- Functional Global Variable (FGV) (+++) [might be a shared ressource]
- Queues (++)
- Shared Variable with RT FIFO enabled (++++)
- RT FIFO (built-in function of LabVIEW RT) (+)
Legend:
++++: very easy to use;
+++: easy to use;
++/+: might get complicated, depending on the complexity and the data type
Additional information on queues and RT FIFOs:
Queues: Same procedure like under windows. Depending on the
variety, it might become difficult to handle; pitfall can be the
timeout which is default "-1".
RT FIFO: Nearly the same procedure like for queues, with the restriction on specific data types and the default timeout of "0".
The correct catchword for the above quoted methods is "inter-thread communication".
Depending on the required performance and all the other peripheral stuff you should use one of the above mentioned.
If you have specific questions, please come by.
ThSa