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

Multi-Tier openPDC configuration

Aug 10, 2010 at 5:04 PM

Greetings to the openPDC community,

My name is Moustafa and I am a PhD Student at the Royal Institute of Technology in Stockholm, Sweden. I have been following discussions in this forum for some time and even posted two previous comments. I have been using the openPDC since February 2010, studying the code and using the framework to create custom clients.

I  am now trying to set up a multi-tiered openPDC configuration, I have not found similar previous discussion on this topic, nor have I found documentation relating to these issues, here goes. 


I actually have three openPDC servers, for the moment. I have configured all three servers to connect directly to PMUs, so that my collegues can do there research and use the data. Configuring PMUs to connect directly to PMUs has worked with the previous versions of openPDC and now with V1.1. what I would like to do and which i am trying to achieve, is to have only one openPDC server connected directly to the PMUs to act as the "Front End", then I would like to connect the other two servers to the Front end and recieve from it the data stream. The other two servers will have different functions, one will be a Historian and continuously archive data. The other Server will be an "Application server" that different client applications can connect to and subscribe to the standard data stream or "Down sampled" data streams.

For the simple application server I have configured my Front End  server (which is actually pre-V1.1. installed from nightly builds ) to send data to port 8800. I have used the PMU connector to connect to the Front End Server (i.e the openPDC server connected directly to the PMUs), here is the connection string from the PMU connector:

TransportProtocol=Udp;localport=8800;;remoteport=8800;commandchannel={protocol=tcp;; port=8900}

using the PMU Connector on the same machine that the openPDC v1.1 server is installed on, works, and i get a data stream. I also use the PMU connector to get a config file. I used the connection from the PMU connector and the config file and added a new device using the openPDC manager. I specify that this new device is a concentrator of type "openPDC". The openPDC Manager due to the configuration file that is also uploaded recognizes the PMUs that the concentrator is connected to and adds them as devices as well. I configure the output stream  and add the PMUs to it using the Device wizard. The output stream is configured to rebroadcast the stream on port 8850 and command channel on 8950.

unfortunately this does not work. in fact the openPDC server 1.1 is not receiving a data stream from the Front End server, even though it works with the same connection string when using the PMU connector on the same machine. on initial start up of the openPDC server v1.1 the console message is:

[8/10/2010 5:33:26 PM] [TESTSTREAM] Attempting connection...

[8/10/2010 5:33:26 PM] [TESTSTREAM] Initiating IEEE C37.118-2005 UDP based connection...

[8/10/2010 5:33:26 PM] [TESTSTREAM] Connection established.

[8/10/2010 5:33:26 PM] [TESTSTREAM] Statistics reset for all devices associated with this connection.

[8/10/2010 5:33:26 PM] [TESTSTREAM] Initiating IEEE C37.118-2005 UDP based connection...

[8/10/2010 5:34:01 PM] [TESTSTREAM]
No data received in 35 seconds, restarting connect cycle...


where TESTSTREAM is the name assigned to the Front End Server stream.  the openPDCconsole on the Front End Server also indicates that a client has connected to the command channel.


This problem of course also applies to the Historian server since it can not connect the Front End


Has anybody faced this issue before? any suggestions?

Comments on general Multi-tier architectures and experiences using openPDC is also very welcome and would be much appreciated.


Best Regards,





Aug 12, 2010 at 9:02 AM
Edited Aug 12, 2010 at 9:04 AM
Hi Again, I was able to solve the connectivity problem between the two openPDC servers. I set the following connection string between the Front End openPDC server and the Application Server: TransportProtocol=Udp; localport=8800; and that was it!!! On the other hand, strangely enough the console shows that Teststream i.e. the output stream from the Front End Server is sending at 13 fps, and has 2,800,000 errors in last 15 hours. Any thoughts what this could be due? Another question is, would it possible to turn off the concentration on the output stream on the application server, or would I have to write my own output adapter? Thank you, Moustafa
Aug 17, 2010 at 1:28 PM

Excessive systems errors will reduce processing speed - its best to try to reduce the number of exceptions that are occuring if possible. Can you send me a copy of the error log / status log so we can see what issues are?

You may be able to create an issue for this and attach the files - thanks!

Aug 19, 2010 at 12:25 PM
Hi Ritchie, Thank you for the reply, I have changed my set up, so I will reconfigure my system as I had it to replicate the problem and then I will Upload the error log/ status log. Thanks, Moustafa