09-20-2015 02:27 AM
Dear LabVIEW community!
I need to transfer data from cRIO target to host PC via mobile internet, provided by GSM module, connected to cRIO chassis.
Which mechanism will be more suitable for it - simple TCP/IP, or Network Streams? I know, that Network Streams, basically, use TCP/IP as a base layer; and they are easier to use; but will there be reliable communication for data transfer, which will be acquired from 16 channels, 50 kHz?
Thanks in advance!
09-20-2015 09:33 AM
Not sure why you think streams are easier to use.
If so, the difference is only slight.
I would use TCP/IP and have more flexibility and control.
Blog for (mostly LabVIEW) programmers: Tips And Tricks
09-20-2015 06:17 PM
I've used Network Streams to send 16 channels of A/D data at 1 KHz -- it was easy to set up and to use. I don't know how fast I can push data through Network Streams, but I would guess that the data rate for both Network Streams and "pure" TCP/IP would be similar.
Bob Schor
09-21-2015 03:31 AM
16 channels at 50kHz is quite a lot of data to push over a mobile connection - have you done any sort of speed-test to see what upload speed you have on your GSM module?
Assuming you're transmitting DBLs, that's 16x50,000x64 bits per second which is about 6MB/second (if my maths is correct!) and that doesn't include any overhead of the structure of the DBLs (e.g. as an array) or the messaging format you're using. I think you'd need at least a decent 4G data connection to be able to transfer that much data - and obviously that would be subject to drops in connection or changes in connection speed (e.g. if someone walked past or because of weather conditions...mobile data connections can vary quite a lot).
Of course, your connection between your cRIO and the GSM module also needs to be fast enough for that much data! (a lot of these GSM modules are connected via serial/RS232).
You might need to buffer the data locally on the cRIO (e.g. on a file) and then try to send the data when you can in batches to the PC. Even if you do get a decent upload speed with your modem, there will still be significant latency/jitter in the connection (expect it to take around 50-200ms to transfer the data).
It might be doable...but to me it sounds like you're sending way too much data for a real-time/live connection (just based on the maths above and a rough idea of mobile data connection speeds).