09-24-2020 04:18 PM
I hate talking about pictures. I think this discussion would have been over and done already if we were looking at code instead of guessing at pictures.
09-25-2020 03:59 AM
Think of a notifier as a mailbox with any new mail replacing the old mail. Think of a queue as a mailbox with size X.
The nodes on the bottom left of your picture are creating these mailboxes, Queues and Notifiers. The wires coming out of them are references to the mailboxes, not to the data within. Passing this wire to the loop on the right (You'll also see where the wire branches to the upper loop also, thus ensuring that the writer and reader are referring to the same mailbox and therefore can communicate).
You then check the mailbox for the data within the loop.
This is the preferred way to address mailboxes, pass them around by wire. The "named" version works essentially the same, we obtain a reference to the mailbox by name alone. Problems occur if you try to create a new mailbox if there's already one of that name. Anyone who has ever tried to create a Gmail account knows what I'm talking about. Problem is that LV allows you to choose the name and then share access to the mailbox.... Imagine the trouble that would cause with GMail. This is why they don't allow it, and why we generally avoid that in LabVIEW.
09-25-2020 05:50 AM
@CDC1 wrote:
I just dont see the connection between the Send notifier in the sub panel, and the Obtain notifier in the main panel (whose only input is a constant data type).
The Notifier reference is passed directly into he Acquisition Message Loop.vi. Inside of the Acquire case, it is passed directly into Acquire.vi, where the notification is directly written.
09-25-2020 05:54 AM
@billko wrote:
I hate talking about pictures. I think this discussion would have been over and done already if we were looking at code instead of guessing at pictures.
Open the "Continuous Measurement and Logging" project template. I don't think the OP has gone beyond opening the template.
09-25-2020 08:19 AM
It sounds (from your questions) that you haven't learned about LabVIEW Queues and LabVIEW Notifiers. Since you have not yet attached any code of your own, we have no way to estimate if you have any knowledge of LabVIEW.
While not ideal, the Web isn't a bad place to start. Typing "LabVIEW Queue Tutorial" will get you YouTube videos, white papers, and other Tutorial material. Read them first, then see if you can understand the Template that NI distributes for the Queued Message Handler.
Note that this Template is not designed for beginners who have never used LabVIEW Queues. If you are just getting started with using Queues, I recommend learning about the Producer/Consumer Design Pattern, for which there are LabVIEW Templates that will help you learn them, and to understand (better) how Queues work.
Bob Schor
09-25-2020 12:33 PM
I now see how obtuse i was being 🙄. I kept thinking of the acquisition subvi as being the start of the reference. I see following the Obtain Notifier reference thread starting at the main VI threads right into the acquisition sub vi into the send notification node, creating the link i thought was missing. Sometimes i overlook the obvious. Thanks all for your patience and contribution.
09-25-2020 01:03 PM
Everyone has to start somewhere. 🙂
09-25-2020 01:16 PM
@CDC1 wrote:
I now see how obtuse i was being 🙄. I kept thinking of the acquisition subvi as being the start of the reference. I see following the Obtain Notifier reference thread starting at the main VI threads right into the acquisition sub vi into the send notification node, creating the link i thought was missing. Sometimes i overlook the obvious. Thanks all for your patience and contribution.
I'm glad that you finally understood.