06-09-2015 02:37 PM
There are a number of channels that ship with LabVIEW 2015. And in the office, we have built many channels, experimenting with different options and requirements. The channel attached to this post is my personal favorite channel. It is fast -- only slightly slower than the raw queue refnums, but comes with functionality the raw queues do not (directly) give me, so the small (1.3x) speed loss is acceptable (remember that the queues are blazing fast and even 15.0x slower is not even noticeable in most applications). This channel covers the bulk of use cases that come up in my personal work, including all the weird cases for stopping both ends of the pipe, signaling the reader without actually providing data, and so on.
This channel does not permit forking. It is meant for point-to-point delivery of data.
To install, unzip the contents of the attached file into this directory:
resource\Channels\AQ Favorite HS Pipe
An already-built demo VI can be found here:
resource\Channels\AQ Favorite HS Pipe\DEMO of AQ Favorite HS Pipe.vi
As usual with channels, the specific type of the channel will not already be on your machine. You will need to right-click on the left-most missing subVI and choose the menu item to re-create the missing subVIs.
Note: The 1.3x performance number is not grid tested and may represent the low end of the variance range instead of the average. Still, even wide error bars should be fine for most users.
08-14-2015 09:45 AM
Here is an example panel/diagram that may give you some insight into the flexibility of this channel. Note the ability to do an abort from the consumer. JeffK has another approach to stopping from the consumer that is useful for comparison. I will ask him to post it.
08-14-2015 03:04 PM
Was the Demo supposed to be in that ZIP file? [It wasn't in mine ...]
BS
08-15-2015 01:45 PM
No. I just posted the images yesterday to show usage pattern.
08-19-2015 09:08 AM
The Demo is mentioned in the message as being in the zip file but I don't see it.
I unpacked this and installed it, but when I attempted a very simple hookup I get a "VI failed to compile" message. I wil try to recreate your demo above.
Note this is an attempt to run it on LV 15, 64 bit, Mac OS X which could be an issue? 🙂 Everything inside looks cross platform and none of the components that I have found have broken arrows so it should be good.
It appears very useful with the stopping from both ends of the pipe.
I have all sorts of questions now.... I duplicated the demo, which nicely shows the pipe accumulating values as time goes on and when the producer stops the values keep coming through until the pipe is drained.
This may be a new LV 15 unexpected feature, but the front panel graph stops updating when the BD window size is adjusted. The data continues, but the graph freezes and jumps to an update while that window is being changed in size!
08-19-2015 12:44 PM
sth wrote:
Note this is an attempt to run it on LV 15, 64 bit, Mac OS X which could be an issue? 🙂
Sorry to crush your theory... this channel originated on my Mac. 64-bit even. Not sure what the issue would be. Did you send in the crash log?
08-19-2015 01:06 PM
Not feeling crushed.. Just used to clarifying that I am not following the usual assumption. (and your example above is certainly the more common platform)
There was no crash log. The "Error Log" window pops up and tells me that it failed to compile. I was doing something with both lossy pipes and the AQ channel.
(hmm, pasting graphics looks good in the editing window but doesn't actually post)
08-19-2015 01:08 PM
08-19-2015 01:18 PM
Sth,
To what is the channel in (what I assume is) Loop 2 connected? It doesn't seem to be a Snippet (and why not? If you "Snippetted" it, forgive the made-up word, we could play with it immediately and wouldn't have to ask silly questions like mine).
Bob Schor
08-19-2015 01:28 PM