01-04-2022 01:50 PM
Hello
i need to receive data over udp from a pc to sbrio
the data is 126 bytes and received every 5 ms
it is look like the sbrio cant follow this rate
i am using one loop to receive the data then pass it with queue to another loop for parsing.then to another loop for processing and to another loop that update the fpga outputs
for debugging , in the parsing loop i sent the data 0xAA and after the processing loop i send 0xBB . I expected to see in the wire shark :
receive 126 byte
transmit 1 byte
transmit 1 byte
but after some time i see
receive 126 byte
receive 126 byte
receive 226 byte…
and then
transmit 1 byte..does the sbrio can handle this data rate??
Thanks
Moran
01-04-2022 03:03 PM
If I understand you correctly, you are sending 126 bytes over UDP at 200 time/sec, or about 200 K bits/sec, which seems "slow" to me for TCP/IP. If you can't get this to work, the problem is probably Hardware (unlikely, as networks have come a long way and even WiFi talks about multiple megabits/sec), or Software. You don't tell us anything about either your Hardware (except that some model of sbRIO is involved), and nothing at all about the Software that you are using (I assume it is LabVIEW code that you might have written or "borrowed").
Assuming that the problem is Software, we cannot suggest what is wrong with the software you are using if you do not attach all of the relevant LabVIEW code (as .VI files, not as "pictures" of Front Panels and Block Diagrams). I'm sure that there are Forum members who could help you improve your code ...
Bob Schor
01-04-2022 11:44 PM
Hi Bob
thanks for your reply
i am using sbrio 9608 connecting directly to a pc
you are right about the data i am sending it is 200k bit /sec
the software i am using is Labview.
I will try to describe the overall structure of the code
i am using queues to pass data between loops
i have 4 loops:
first loop receive the udp packet (126 bytes)
and pass it directly to the second loop
second loop parse the data and rearrange it in a new array and pass it to the third loop
third loop performs some calculations on the data and pass the results to forth loop
forth loop pass the results data to the FPGA
for debugging , i am sending back the data 0xAA
after finished the second loop and sending again the data 0xBB after the third loop
and inspect it on a wire shark and i see that the pc sends the data (126 bytes) a few times before it received the debug bytes
i am also using a controls and indicators on the front panels , maybe it slows the performance??
It is a little bit difficult to post the code because the pc i am working with doesn’t have direct connection to the internet
Thanks
Moran