LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

PDA reads UDP packets for a while then timesout using Labview PDA Module

I am developing an application for a Dell AXIM X51 fitted with a Socket CF Rugged 10/100 ethernet card using Labview PDA module 8.5.

When I read the port using the UDP read vi, it reads for a while and then timesout with winsocket error code 10060 and never recovers. 

If I rerun the application, it is unable to read the port again unless I remove the card and reinsert it and re-launch it.

However, the card is definitely receiving the packets as my PDA ethernet sniffer program verifies this, and this continues even if the application  I have written bombs out.

 

I have included the simple UDP test vi I am using.

 

Does any one know have any ideas why it is doing this ?

 

Also, any other way of reading UDP port, maybe VISA ?

 

 

 

 

 

0 Kudos
Message 1 of 5
(3,152 Views)

Good Morning Muzza,

 

I do not see anything wrong with your "IP Over Power.vi".  Port 60000 should be available; it is not a reserved port.

 

My suggested steps for troubleshooting are as follows:

1.  Though you may have already, re-build your program and re download it to the PDA.  Test if this works.  If not...

2.  Create a duplicate VI, this time using TCP VIs instead of UDP VIs.  You will also need to create a new host program.  This will test if this is a problem specific to UDP or a more general LabVIEW / PDA / network issue.

 

What are you using as the host application which sends the UDP packets?

0 Kudos
Message 2 of 5
(3,120 Views)
Thanks for your help Charlie. I have rebuilt the application from scratch and transfered it to the PDA and run, no change. The source of the UDP packets are from a stripped down IP stack (does not support TCP, but responds to UDPs, ARPs, ICMPs) that I wrote in C code on an 8051 IP core in an FPGA. These packets are passed out of the CPU via a FIFO, and ethernet MAC to PHY (outside the FPGA), and then to a the client, in this case the PDA via a gateway . Note, the gateway has a full stack. If I connect the gateway to a PC, Wireshark recongises these packets, and If I use the UDP test.vi on the PC it works without any timeouts. Also, if I simulate the packets sent from the gateway using Colasoft Packet generator on a PC and send them to the PDA, I get timeouts with the UDP test.vi (my PDA ethernet sniffer program picks up these packets okay though). I will give the using TCP VIs suggestion a go and let you know what happens. Regards Muzza
0 Kudos
Message 3 of 5
(3,113 Views)

Got my application going with UDP VIs.

Apparently, Microsoft Activesync which is used sync between the PC and PDA uses the PCs TCP/IP stack to create a psuedo network address to comunicate with the PDA via the USB. For some reason, Labview could not cope with two network addresses, even if I tell it which IP address to use, hence the timeout.

 

To solve the problem, only use  Activesync to download the application to the PDA and then disconnect it if you want to run the application.

 

 

Regards

 

Muzza

0 Kudos
Message 4 of 5
(3,088 Views)

Good Morning Muzza,

 

Thank you for the update and posting your resolution.  I'm glad you were able to get your PDA UDP issue resolved.

0 Kudos
Message 5 of 5
(3,067 Views)