From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Network Streams loose data

Hi,

 

We are using network streams to transfer data acquired from a remote drillig rig to another labview application in the office.  We are building and sending a 70 element 1D array every 5 seconds or so.

 

For the most part, it works fine and we see no issues with the data we save to disk on the reciever side as the data comes in. Periodically, but not often, we get "gaps" in the data sometimes 2 minutes and sometimes 15 minutes. Sometimes, I check on the reciever in the office and it will have been waiting for another data point for several hours with no errors shown, no disconnects, status is good.... Just waiting.  The data is just missing on the reciever side and subsequent data writes are fine.

 

So, I then log in remotely and check the sender computer on the rig.  It looks like it is running fine with no indication of an error at all and it is also saving a copy of the data to its hard drive and that is working fine.  The data on this unit is always in good shape with no "gaps".  I monitor the connection for any disconnects, buffer size, remaining buffer, etc. and it is always good on both sides.

 

Now, each time I write an element to the sender, I follow that with a "flush".  Also, when I "stop" the sending program, I end the while loop with a flush also.  When I hit stop on the sender, it will not end.  Like it cannot complete the flush command or something.  When I hit the stop button on top, the program will stop, then the reciever in the office goes into it waiting state like designed, logs a disconnect, and waits for the sender to start again.  Its like it always had a connection, but data wasnt moving.

 

When I re-start the sender, the reciever sees it and starts collecting data again as normal. 

 

Im at a loss as to why this will work fine for days with just periodic gaps in the data and then sometimes this "permament hang" happens with the data streams?

 

Any help or advice would be appreciated.  Thanks

 

 

 

 

Download All
0 Kudos
Message 1 of 3
(2,490 Views)

I've been using Network Streams on a LabVIEW RealTime Project -- my RealTime Target is a PXI controller (not a very fancy/sophisticated one, no RIO architecture).  We have four Streams running simultaneously -- two are Message Streams to "feed" the Queued Message Handlers (the Host can send a Message to the Remote, and vice versa), one is a 16-channel, 1KHz data stream, and the fourth is an "occasional" Event Stream (a Cluster that has some identifier information and Event-specific data).  We put a Clock signal on the Data Stream, and we never miss a sample (admittedly, we are running for hours, not days).

 

To provide help with your code, I would need to see the code (the VIs, themselves), not a picture of part of your code.  It would also help to know a bit more about the Host and Remote environments, and whether this is two separate LabVIEW executables, a LabVIEW RT deployed solution, or two independent LabVIEW Development systems running code.

 

Bob Schor

0 Kudos
Message 2 of 3
(2,448 Views)

What happens if you don't push all of those flush commands?

0 Kudos
Message 3 of 3
(2,438 Views)