What is Data Publisher? and What is Subscriber?

Hello ankitshah-it,

I’ll do my best to clarify these points.

  1. Fundamentally, nearly every piece of functionality in the openHistorian is either an input adapter, action adapter, or output adapter. Every device in the Device table is converted into an input adapter, the type of which is determined by the Protocol field. You can see the mappings between protocols and their respective code modules by looking at the Protocol table. Specifically, the DataSubscriber class itself is the input adapter for a GEP data subscriber.

    A data concentrator is an action adapter that acts like it’s an output adapter. The type of a concentrator’s output adapter is one of the implementations of PhasorDataConcentratorBase. Concentrators are specifically designed to publish data via one of the frame-based synchrophasor protocols. The only protocols that support concentration of data from multiple devices are IEEE C37.118, BPA PDCstream, and IEC 61850-90-5.

    GEP is not a frame-based protocol so it does not require a concentrator setup in order to publish data. The out-of-the-box configuration for openHistorian includes three data publisher adapters in the CustomActionAdapter table, and these are the GEP data publisher instances used for publication.

  2. No, subscriber is a GEP Data Subscriber just like the one used in DataSubscriberTest.

  3. Take a look at the following explanation to better understand Receive Internal Metadata and receive External Metadata.
    Forwarding measurements limitation?

  4. Adder and Multiplier define the linear adjustments used when determining the AdjustedValue of the measurement: AdjustedValue = Value * Multiplier + Adder.

    Internal defines whether the measurement should be considered internal or external to the openHistorian’s network (see the explanation I linked in #3).

    Subscribed indicates whether the measurement is coming from a GEP subscription or not.

    Measurement Type should be pretty self-explanatory. I’m not sure what else I can add, except that the measurement types defined in the system were largely inspired by the frame-based synchrophasor protocols. Others were added later as needed. The valid values for Measurement Type can be found in the SignalType table in the database.

Thanks,
Stephen

1 Like