LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

RT: acquisition, logging and monitoring at 1 kHz

If "Available elements for writing" is a size of the buffer this means that there is no data waiting to be sent, so "Write single element to stream" doesn't have data to work with.

Overfilling of RT FIFO seems to be the bottle neck. The problem could be in the consumption of a processor or in the speed of the loop. I would suggest you doing a pipelining in the second loop, I attach an example image, and remove property nodes, too. Please, don't forget about initializing network streaming (an array in my example).

 

Bluesheep

 

 

0 Kudos
Message 11 of 15
(656 Views)

"Available elements for writing" referes to the elements in the network stream writer buffer, so if the value is near the size of the buffer, the buffer is almost full. Anyway, I think too that there's an issue with the RT FIFO, I'm going to test right now if pipelining with a shift register works. Thanks for your time.

0 Kudos
Message 12 of 15
(606 Views)

I've tried adding the pipelining but still the host VI can't catch up with the target VI. I've tried a simpler target VI, just two very simple loops of acquisition and streaming. As a result, on the host the signal is less distorted, it could be acceptable to simply 'see what's going on'. But I've noticed that the RT FIFO is always almost full, could this lead to some troubles?

0 Kudos
Message 13 of 15
(600 Views)

@emmemme wrote:

"Available elements for writing" referes to the elements in the network stream writer buffer, so if the value is near the size of the buffer, the buffer is almost full.


Just try it with different speed of data sending 🙂

 

I've checked my old VI and I made a mistake - it wasn't working as fast as I thought. I've made the same VI as yours (just without Read/Write control in Timed Loop) and I saw some problem with RT FIFO (not overfilling but the #elements still changes), too, event with pipelining. It seems to be too fast (?).

 

I could just suggest you sending arrays of data or decreasing sampling frequency.

 

I wish to help you more,

Bluesheep

0 Kudos
Message 14 of 15
(586 Views)

That's the first suggestion I made : sending array of data. That's not so complicated, you should try it : I can't run your application for testing it but I really think that it will reduce overhead.

0 Kudos
Message 15 of 15
(581 Views)