04-24-2006 01:30 AM
04-24-2006 02:55 AM
One option is to use Queues. Enqueue your collected data in one VI. And dequeue that data and display in the other VI.
You may want to study the examples on Queues. And also the producer-consumer design pattern.
Regards,
-Khalid
04-24-2006 03:55 AM - edited 04-24-2006 03:55 AM
Message Edited by devchander on 04-24-2006 03:55 AM
04-24-2006 04:22 AM
05-03-2006 07:16 AM
Hi Dave,
I would not say notifiers are better than queues, both have their own applications
In a notifiers, the block diagram recieving the information in notifier completely stops execution and starts again only when new data becomes available.
This cuts down on computer time wasted on polling.
05-04-2006 07:42 AM
05-04-2006 08:23 AM
Just adding a tidbit or two to devchandler's reply...
Another key distinction is that a queue is best for lossless buffered transfer of data to exactly 1 reader from 1 or more writers. A notifier is best for lossy unbuffered transfer of data to 1 or more readers from 1 or more writers.
Notifiers let multiple independent parts of the code react quickly to read data immediately after it gets updated by some other part of the code. If there are 2 writes between any reads, the data from the older write is displaced and unrecoverable.
I've begun making a habit of basing my "global abort" status flags on Notifiers. Anyone can write an abort condition and everyone can read it.
-Kevin P.
05-04-2006 09:20 AM
hi,
one way of solving is to declare a shared variable. use this variable to in write mode to collect the data. use the same variable as input to the second vi. this resovles the problem.
with regards
krishna