This project has moved. For the latest updates, please go here.

Filter parameter for the Subscriber:SynchronizedSubscribe() call

Apr 20, 2011 at 10:08 PM

Is there some documentation on the filter parameter for this call? I want to return a real-time stream of FREQ data for a phasor input, but I can't seem to get a working filter.

The subscriber connects to openPDC OK via port 6165, but then I can't seem to get any data back.

Steve

Developer
Apr 21, 2011 at 1:20 PM

Steve,

Filter parameter is a commna seperated list of points you would like to subscribe data for. For example,

SynchronizedSubscribe(true[password], 30, 0.5D, 1.0D, "DEVARCHIVE:1;DEVARCHIVE:2");

Where [password] is the value of "SharedSecret" from Configuration --> CategorizedSettings --> dataPublisher section of the openPDC.exe.config and Filter parameter values are defined by [historian acronym]:[pointID] which is defined as "ID" in ActiveMeasurement view in the openPDC database.

Hope this helps!

Mehul Thakkar

Apr 21, 2011 at 2:32 PM
Edited Apr 21, 2011 at 2:35 PM

Thanks

Coordinator
Apr 21, 2011 at 2:52 PM

This can also be a filter expression (e.g., " FILTER ActiveMeasurements WHERE Device = 'SHELBY' AND SignalType = 'VPHM' "), see link for details:

http://openpdc.codeplex.com/wikipage?title=Connection Strings&referringTitle=Documentation#input_and_output_syntax

Apr 21, 2011 at 3:57 PM

I tried the ID value in activemeasurement as the filter and it does work, although I am only seeing one measurement every 4 seconds - and not the 30mps I requested.

I cannot get the "Filter ActiveMeasurements..." format to work, the PHASOR_SERVICES module throws an "object reference not set to instance of an object error"  when I do.

Application Domain:    openPDC.exe
Assembly Codebase:     c:/program files/openpdcservice/openpdc.exe
Assembly Full Name:    openPDC, Version=1.4.90.0, Culture=neutral, PublicKeyToken=null
Assembly Version:      1.4.90.0
Assembly Build Date:   3/11/2011 5:31:02 PM
.Net Runtime Version:  4.0.30319.225

Exception Source:      TimeSeriesFramework
Exception Type:        System.NullReferenceException
Exception Message:     Object reference not set to an instance of an object.
Exception Target Site: ParseInputMeasurementKeys

---- Stack Trace ----
   TimeSeriesFramework.Adapters.AdapterBase.ParseInputMeasurementKeys(dataSource As DataSet, value As String)
       openPDC.exe: N 00296
   TimeSeriesFramework.Adapters.ActionAdapterBase.Initialize()
       openPDC.exe: N 00375
   TimeSeriesFramework.Adapters.AdapterCollectionBase`1.InitializeItem(state As Object)
       openPDC.exe: N 00075

 Steve

Apr 21, 2011 at 8:15 PM

Managed to work out why we were only seeing a small amount of values, the lag/lead time window was too small for our source PDC. Once we extended it to about 4 seconds we started getting much more data.

Steve