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

Output Stream problem with streaming data (UDP)

Feb 3, 2016 at 2:05 PM

I'm trying to set openPDC Manager to output stream some data using UDP. I have gone to (Outputs -> Concentrator Output Streams) and created a new output stream called ELESSTREAM (with same parameters as [TESTSTREAM], the stream already created when you start openPDC Manager). For start I have set my Output Stream to:

UDP Channel: Port=-1; Clients=localhost:9000

I left TCP Channel blank and under the Measurements I have set 5 input measurements (PPA:355 - PPA:359). I have 2 problems:

1.) After I Initialize, the measurements are gone from the list as though they would have been erased (Which does not happen with measurements in TESTSTREAM after initialization).
2.) When the ELESSTREAM is configured I can see in openPDCConsole, using a command (list -a), that ELESSTREAM is initialized, so it should stream out data, to local host, but when I check the stream with Wireshark, I see no data flowing out of the port.

Could it be, that I have set the configuration wrong for ELESSTREAM (see picture)? Or is it possible, there is something else wrong for these 2 problems?

Thank you in advance.
Feb 3, 2016 at 2:08 PM
Sorry I forgot to post the image of my configuration of ELESSTREAM. Here it is.
Regards. Leonard.

Feb 5, 2016 at 6:39 PM
Not sure I exactly understand the nature of your issue - however, keep in mind when you are using UDP for a given destination the that port number should be unique for that destination.

When you say "the measurements are gone from the list" - what does that mean exactly? Can you provide a little more detail about what you are trying to accomplish?

Feb 10, 2016 at 10:37 AM
Hi Ritchei.

I've managed to solve the problem with UDP connection. You were right I was missing the destination port number (I'm sort of new with UDP, TCP and that), thanks for the heads up.

My goal is to read PMU data from CSV file with input adapter, and then stream that data with output stream via UDP or TCP to MATLAB, where the data will be used for calculating certain algorithms. I sucessfully managed to read data from CSV into openPDC, as the measurements are shown Monitor Device Outputs and I have created a new output stream, called NEWSTREAM to send the data out with UDP.
As for the measurements goes I was able to partially solve the problem. The problem with my measurements being erased was the wrong signal reference, the openPDC has to have strict signal references to output stream the data. I fixed that problem, with creating a new input device in (Inputs -> Add New Device Based Input), which was configured as 'virtual device', so no connection strings were set. I have attached 1 phasor (which created 2 measurements Voltage Magnitude, Voltage Phase Angle) and added 4 more measurements to the virtual device (Frequency, Delta Frequency, 1 Calculated Value and Status Flag), all these measurements have the correct signal reference according to the Signal Reference Table. The virtual device with its 6 measurements was attached to output stream NEWSTREAM, which can be seen in the first figure below.


However once I Initialize the NEWSTREAM calculated value VIRTUAL-CV1 is somehow lost/erased as it can be seen on second figure.


All the other measurements (Frequency and Delta Frequency, Frequency, Delta Frequency and Status Flag) are successfully transmitted through UDP and I can see them on PMU Connection Tester, but the calculated Value is not transmitted with output stream NEWSTREAM, did I maybe set the signal reference wrong? Or what do you think would be the issue? Figure below shows configuration for calculated value measurement.


Thank you.
Mar 9, 2016 at 5:03 PM
Hi Leonard,

It looks like the code defines a collection of valid signal types for an output stream. Here is the list.
SignalKind[] validOutputSignalKinds = { SignalKind.Angle, SignalKind.Magnitude, SignalKind.Frequency, SignalKind.DfDt, SignalKind.Status, SignalKind.Analog, SignalKind.Digital, SignalKind.Quality };
Calculated value is not in the list, so you'll have to modify the signal reference of the output measurement to use one of the valid signal types instead. If you're not sure which one to use, I would recommend Analog (VIRTUAL-AV1).