UDP communication from the device to PMU connection tester


#1

Hi ,

I’m trying to transmit the pmu data from my device to the pmu connection tester using UDP communication.
Connection Tester version: 4.5.7

Once i click connect button with the above settings , I get the message “Awaiting configuration frame …”

The application which has the pmu data , creates the UDP socket and binds to that port.
I also send the ‘configuration data’ to the connection tester and i see that the status changes to “Configured frame rate: N frames/second”

So far its all good. Now once my application is sending data in this mode(UDP), if the user clicks on ‘Disconnect’ , will the PMU connection tester send any information/cmd back to my application ?

I tried blocking on the udp socket with a timeout repeatedly to catch if any message is sent on ‘Disconnect’ , but i don’t get any.
(But I see that i get a msg in my TCP application with code 1 to stop sending data. )

In this case, how to know if the pmu connection tester is expecting a config frame or a data frame ? (or) Is it running.

Thanks in advance.


#2

Is the traffic IPv4? The PMU Connection Tester defaults to IPv6 settings. If so, click the Settings tab and change For IPv4 to true and try reconnecting.


#3

Yes i have forced it to IPv4.
In the above setting(UDP-without specifying src IP- without using alternate cmd channel option), after connecting, if i click on ‘disconnect’ will the PMU connection tester send a message back ?

Thanks for replying.

I can connect to the pmu connection tester UDP - port 4714 as show in the config image. I can send the config frame and data frame. But if the user clicks on disconnect in this mode, will i get a packet back from PMU connection tester in this mode ? I tried to capture wireshark logs and i see that from my device msg is being sent , but i’m not getting a reply back from pmu connection tester in UDP.


#4

The PMU Connection Tester is acting as a ‘client’ and your PMU device is acting as a ‘server’. In general, a server starts out listening on its port until a client makes contact. The PMU server will do nothing until it is contacted by a client.

When you click ‘Connect’ on the PMU Connection Tester, it needs to send a message to the PMU server to send the configuration. I don’t see any way in your setup above for the PMU Connection Tester to know the socket address of your PMU server.

I think you need to click on ‘Enable Multicast / Remote UDP’ and then enter the IP address and port of your PMU server.


#5

Thanks Sam, If i add my device IP as you said in “Enable Remote Udp”, then i see that on clicking connect/disconnect i get the cmds back to my device from my PC.

I’m confused with multiple settings available for UDP, What should be the settings for UDP incase of enabling “Alternate Command Channel Config”, where i specify the IP of the my device and port number.
(or)
Can any one please explain the settings in the case of UDP when i enable “Alternate command Channel” and also how it works.


#6

I think the Alternate command channel allows using a TCP connection for commands. The data is still sent with UDP. The purpose of this is to make the command communications robust with TCP while allowing the data transmission to use the light-weight UDP. I suspect you don’t want to use this. Leave it Not Defined.

When you click ‘Connect’ and you receive a command at your PMU device, you should parse the packet to see what the PMU Connection Tester is asking for. Then you should return the appropriate response to the PMU Connection Tester.

The PMU Connection Tester will send the command to your PMU device IP address at the port that your UDP server is listening to. Your PMU device should send the response back to the IP address and port that the request came from.

I assume you’ve already noticed that Wireshark decodes PMU packets for you. Wireshark is a must-have for finding out exactly what’s going on.