Skip to content

GEP FAQs

Stephen Jenks edited this page Jan 10, 2017 · 15 revisions

How to Augment Available GEP Meta-data Fields Provided by the Publisher

This task is accomplished by adjusting the field set in the source openPDC. You can do this by specifying a custom MetadataTables parameter in the connection string for INTERNAL!DATAPUBLISHER. You can find this adapter in the openPDC Manager under Actions / Manage Custom Actions. From the “Manage Custom Action Adapters” screen, select the INTERNAL!DATAPUBLISHER from the list of adapters at the bottom of the screen, then in the Connection String list of Parameters, select MetadataTables and adjust the SELECT statements. For example, these statements add the AlternateTag field to the available meta-data for measurements:

SELECT NodeID, UniqueID, OriginalSource, IsConcentrator, Acronym, Name, AccessID, ParentAcronym, ProtocolName, FramesPerSecond, CompanyAcronym, VendorAcronym, VendorDeviceName, Longitude, Latitude, InterconnectionName, ContactList, Enabled, UpdatedOn FROM DeviceDetail WHERE IsConcentrator = 0;

SELECT DeviceAcronym, ID, SignalID, PointTag, AlternateTag, SignalReference, SignalAcronym, PhasorSourceIndex, Description, Internal, Enabled, UpdatedOn FROM MeasurementDetail;

SELECT DeviceAcronym, Label, Type, Phase, SourceIndex, UpdatedOn FROM PhasorDetail;

SELECT VersionNumber FROM SchemaVersion;

Note that your consuming subscriber code should gracefully handle cases where this field does not exist in the XML data set since by default this field is not included in a standard install of the openPDC.

How to Filter GEP Meta-data Provided by a Publisher from a Subscriber

Meta data filters can be applied to the Subscriber device connection string using see filter syntax against any table available in the source meta-data. By default the publisher responds with the following meta-data – this can be overridden by the publisher, but this is normally only ever modified to include more metadata fields, not less:

SELECT NodeID, UniqueID, OriginalSource, IsConcentrator, Acronym, Name, AccessID, ParentAcronym, ProtocolName, FramesPerSecond, CompanyAcronym, VendorAcronym, VendorDeviceName, Longitude, Latitude, InterconnectionName, ContactList, Enabled, UpdatedOn FROM DeviceDetail WHERE IsConcentrator = 0;

SELECT DeviceAcronym, ID, SignalID, PointTag, SignalReference, SignalAcronym, PhasorSourceIndex, Description, Internal, Enabled, UpdatedOn FROM MeasurementDetail;

SELECT DeviceAcronym, Label, Type, Phase, SourceIndex, UpdatedOn FROM PhasorDetail;

SELECT VersionNumber FROM SchemaVersion;

In the subscriber connection string, you will need to add a metadataFilters key/value pair. For example, to filter PhasorDetail to only include positive sequence data, you could provide an expression like the following:

; metadataFilters = { FILTER PhasorDetail WHERE Phase='+' }

Multiple filter expressions can be provided, just separate with a semi-colon. Note that you can only filter down to the fields that the data publisher is providing.