03-15-2013 09:14 AM
@apok wrote:
did you look at this in the find example>>Queue Multiplexer.vi....."Many-Into-One"
I went ahead and re-did the example according to what I will be using it for. It logs a TDMS file to disk wherever the VI is located.
There are tons of 0's throughout the data, which I can't have in the data set (because this data will also go through a calculations phase and the 0's will kill my calcs). The only thing I can think to do is multiple independent streams. I'm still not sure how the calcs will work out, but this logging will not work. (I did this example with just 1 channel group. My final will have multiple channel groups according to the logging rate. I was just trying to see how the single pipe with all the data would work for this example). Thanks for any help.
03-15-2013 10:31 AM
Hi,
how about changing the 0's in the cluster constant ton NaN, then make the writes in the Data Retrieval Loop conditional and check for NaN.
Nice loop labeling by the way.
Regards
Florian
03-15-2013 02:48 PM - edited 03-15-2013 02:49 PM
Nathan_S wrote:I went ahead and re-did the example according to what I will be using it for. It logs a TDMS file to disk wherever the VI is located.There are tons of 0's throughout the data, which I can't have in the data set (because this data will also go through a calculations phase and the 0's will kill my calcs). The only thing I can think to do is multiple independent streams. I'm still not sure how the calcs will work out, but this logging will not work. (I did this example with just 1 channel group. My final will have multiple channel groups according to the logging rate. I was just trying to see how the single pipe with all the data would work for this example). Thanks for any help.
whats happening is you are introducing no data on the rest of the elements in one loop, like wise on the other two loops...therefore "0"s on the end results. assign a different queue for each data enqueued....
03-15-2013 02:54 PM
That's what I figured it would boil down to, I've beating my head against the wall all day trying to figure the most elegant way to do this (this is just a small subset of the problem, I'm trying to keep the number of queues and such down to a minimum, notifiers with the 1:N way of doing things might become my friend). Thanks for the help.
03-15-2013 03:25 PM - edited 03-15-2013 03:25 PM
You can avoid writing the zeros with one small mod
03-15-2013 03:38 PM - edited 03-15-2013 03:42 PM
Jeff,
think yours is the answer!....an elegant way?
03-18-2013 06:12 AM
This is great. Thanks everyone for the help.
03-18-2013 01:47 PM
@Nathan_S wrote:
This is great. Thanks everyone for the help.
You are quite welcome.
Multiple producer multichannel consumer loops such as this one Several producers, each with its own destination, but constrained by a common element (Bus, File, etc...) almost have to contain source info in the queue data. A hard lesson to learn from scratch and, trust me you can go down many dead-ends and dark allys finding the trick! One of the best features of these forums is the ability to learn best methods and practices for these trickier problems. Glad I could help.
03-19-2013 12:22 PM
Well said Jeff.
01-28-2016 02:58 PM
Jeff,
Would you post vi for the solution?
Thanks!