-
Notifications
You must be signed in to change notification settings - Fork 70
GEP FAQs
- How to Augment Available Gateway Exchange Protocol Meta-data Fields Provided by the Publisher
- How to Filter Gateway Exchange Protocol Meta-data Provided by a Publisher from a Subscriber
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.
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.