12-28-2021 12:54 AM
Hi,
I am transferring a data frame from one system to another for data processing through TCP/IP in Labview.
I am sending 1 data frame for 0.0001ms and need to receive and process the received data with the same speed for minimum 10 mins continuously. I have coded the program for processing with given 0.0001ms. But still lagging in data transfer. Please guide me through the process.!
Solved! Go to Solution.
12-28-2021 06:16 AM
Hi!
A normal TCP/IP Network is not made to transfer data with such short response times. If you ping a computer directly connected to yours, the ping time usually is in the range of 1ms, maybe a bit less.
And whenever you call the TCP/IP write.vi to send a few bytes, a new TCP frame will be sent over the network, with all the time and data overhead involved. This also means you can saturate the network with a fraction of the possible net throughput.
If response time is really that critical for you, TCP/IP is not the right tool.
If you have a few bytes every 0.1µs and just want them to be processed fast, collect many them, and send them at once.
By the way: In 0.1µs, an electrical signal travels about 20m through a cable.
12-29-2021 01:39 AM
Hi Sebastian,
Yeah, I will try .
Will it be processing in TCP/IP if the data rate is 1frame per 0.1ms.??
If not what communication medium would be suitable for this type.
01-03-2022 02:52 AM
Hi!
It may be possible. But as said, TCP networks are not made for THAT time critical communication, since there's lots of caching and processing of the data. Finally, a network is a shared medium. If your computer decides to just transmit something else over the background over the network (and it always does, it's never really quiet), this can add some lag, which is usually not noticeable, but might be a problem in your case. I think you have to try it out.
Honestly, I have no idea what other type of communication is suitable for you, I only know that they exist.
01-03-2022 07:21 AM
Does this absolutely have to be done in "real time", or can you append a timestamp onto the packet and process "at your leisure" on the other end?