Measurement Stream

Measurement stream

GreenBus Measurements represent a particular value of data for a particular time in the stream of values associated with a Point. The Measurement data structure provides a common representation of time-series data across varied sources and communications protocols.

Each Measurement contains the following attributes:

Attribute Description
Value The data value. Can be a boolean, integer, floating point, or string.
Time The time associated with the value. May also include device time
Quality The quality of the Measurement, based on the IEC 61850 standard for telemetry quality.

Measurements enter the system through front ends, which represent an external connection to a data source. Those data sources may include:

Furthermore, "protocols" that are actually external web services or message-oriented technology like MQTT may serve many logical devices with a single Endpoint. In these cases Endpoints may signify a particular web URI or connection to a broker.

Processing

Front end protocols post batches of Measurements to the measurement processor. The values have at that point been normalized regardless of source device or communication protocol, and the following processing steps are then applied according to the system modeling of the individual Point:

Attribute Description
White list Values may only enter the system that have Points configured for them.
Overrides Individual Point may have new values suppressed by setting their state to not in service (NIS) and optionally providing a synthetic Measurement to replace the current state of the stream.
Filter To reduce the flow of data in the system, duplicate values and updates that occur within a deadband can be filtered before entering the database and event bus.
Transformation Examples may include linear scaling and offset, discrete mappings to enumerations, or re-intepreting the Measurement quality.
Event Conditions based on Measurement value or quality can be configured to create Events that notify the system of an occurrence or exception state.

Data Access

The measurement processing subsystem stores Measurement values in two data stores: the current value database, and the historical database. The actual storage technology used may depend on the performance requirements of the system deployment. The GreenBus services API provides methods to query the current Measurement values for a set of Points, or to query historical values with parameters for time boundaries.

Notifications are also posted to both the individual Measurement subscription channel as well as the Measurement batch subscription channel. These provide immediate, event-driven delivery of data updates to processes that had previously subscribed.