取消
顯示結果 
搜尋替代 
您的意思是: 

Passing Data with Many Senders at Multiple Rates for Logging

已解決!
前往解決方案

@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.

 

--------------------------------------------------

Nathan - Certified LabVIEW Developer
0 積分
11 條訊息(共 23 條)
3,280 檢視

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

0 積分
12 條訊息(共 23 條)
3,266 檢視

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....

 

搗亂者
parsed_VI_BD.png

 

13 條訊息(共 23 條)
3,246 檢視

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.

--------------------------------------------------

Nathan - Certified LabVIEW Developer
0 積分
14 條訊息(共 23 條)
3,243 檢視
解決方案
由主題作者所接受 Nathan_S

You can avoid writing the zeros with one small mod

1!.PNG

 


"Should be" isn't "Is" -Jay
15 條訊息(共 23 條)
3,236 檢視

Jeff,

 

think yours is the answer!....an elegant way?

elegant_VI_BD.png

 

0 積分
16 條訊息(共 23 條)
3,233 檢視

This is great.  Thanks everyone for the help.

--------------------------------------------------

Nathan - Certified LabVIEW Developer
0 積分
17 條訊息(共 23 條)
3,207 檢視

@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.


"Should be" isn't "Is" -Jay
18 條訊息(共 23 條)
3,189 檢視

Well said Jeff.

0 積分
19 條訊息(共 23 條)
3,167 檢視

Jeff,

Would you post vi for the solution? 

Thanks!

 

0 積分
20 條訊息(共 23 條)
2,854 檢視