This project has moved and is read-only. For the latest updates, please go here.

How to Configure openPDC to Receive UDP from Remote openPDC?

May 7, 2011 at 3:09 AM

I am working on testing and documenting a scenario for using openPDC on a client PC to record data from an attached PMU and then transmit the data by UDP to a remote openPDC server.  The procedure is documented at the following URL:

I have the test scenario working up to the point of configuring the openPDC Server to receive the data from the openPDC client output stream.   Here is what is working so far:

  • The openPDC Client has a PMU Device configured and properly collects and archives data on the local PC.
  • The openPDC Client has an Output Stream configured to transmit UDP-4712 data to the IP4 address of the openPDC Server
  • The firewalls of both the Client and the Server are properly configured to pass through UDP-4712 Client to Server traffic
  • PMU Connection Tester running on the Server receives the configuration frame and data.
  • openPDC is installed on the Server.

I read the documentation and tried a few configurations, but was unable to get it to work, so I was either missing a setting or simply not doing correctly.  I'm challenged in that I don't understand if I need to use a Device, Adapter, Custom Input Stream, or combination? 

What is the best practice configuration to receive the data using openPDC on the server in the scenario I described?


May 8, 2011 at 10:21 PM


You can use connection tester to export configuration file and connection file.

  1. Stop connection tester on the server.
  2. Start openPDC Manager and go to Configuration Wizard.
  3. On step 1, load connection file saved from the connection tester.
  4. On step 2, load configuration file and check "Connection is to concentrator" check box. This will actually create a device record for client openPDC.
  5. On step 3, you should see a device which is connected to client openPDC.
  6. Click finish to add this device.

You can verify data via real-time measurements or input status and monitoring screen.

Thank you,

Mehul Thakkar







May 9, 2011 at 1:00 AM

Thank you for the procedure.  I ran the openPDC Manager, Add Device Wizard and loaded the Connection and Configuration files from the PMU Connection Tester per your instructions.

After Finishing the Device wizard, I noticed that there are now TWO devices.  One Device has the "Concentrator" checkbox checked.  The other Device looks like my remote PMU device.  The automatic creation of the additional Device confused me in my first attempts prior to posting this discussion.  I was confused enough that I made a bunch of changes (mistakes) to the point that I could not get it to work. 

The scenario is up and running - and repeatable.

Thank you very much for the straight forward and working procedure! 

My next step is to tune and push the scenario to its maximum performance.  Is UDP:4712 the optimal protocol for through-put data transmission performance?  The expected usage is research and monitoring, not control applications.


May 9, 2011 at 3:15 PM


Glad to hear that it is working. UDP will be ideal for maximum through-put.

Thank you,
Mehul Thakkar

May 11, 2011 at 10:08 PM

Now that I have a working pair of openPDC machines on my LAN and one is transferring data to the other, I want to improve performance. 

The following link is to a graphic screen shot of the 2 openPDCs showing the monitoring charts.  The bottom openPDC is receiving the PMU data from the sensor at 10 frames per second.  However, the top openPDC only seems to be only displaying and recording about 1 frame per second.  I set the bottom graphic to 2000 samples for the chart and the top graphic to 200 samples so they would line up on the time scale.  The sensor and openPDC are configured for IEEE C37.118-2005 protocol.

This is still on the LAN with only 1 sensor, so I think better performance is possible.  What are the next steps to improving the openPDC to openPDC transceiving performance?

Can openPDC receive the PMU data as IEEE C37.118-2005 protocol and then convert it to a more efficient protocol for relaying to the other openPDC?  If yes, which is the most efficient "standard" protocol?

Alternatively, if there is a better performance open protocol, I could revise the Open Source PMU firmware.  What would you advise?


May 12, 2011 at 2:51 PM


Please look at output stream statistics for the client openPDC via Monitoring --> Runtime Status & Statistics screen. Look for received measurements and discarded measurements. If you see losts of discarded measurements then go to Adapters --> Concetrator Output Stream screen and adjust lag time/lead time or uncheck Perform Timestamp Reasonability Check checkbox. See if that makes any difference. Also look at Input Stream statistics for the server openPDC to find out how many data frames it is receiving, values are per 10 seconds. Please let me know if any of these helps or resolves your issue.

Mehul Thakkar