Skip to main content
Question

Integrating KEPServer Alarms & Events

  • November 11, 2024
  • 4 replies
  • 43 views

We are looking to add Events into our CDF solution via an existing OPC UA Extractor. The OPC UA Extractor is currently pulling data from KEPServer and pushing into time-series end-points.

We want to add some of the binary & string references in the PLC (which are now exposed in KEPServer) as Events so that we can utilize the Charts over-lay function.

  • Is there a worked method for updating the OPC UA Extractor file for this purpose?
  • Does it require KEPServer Alarms & Events plugin to be used? 

We have used this link already: Configuration settings | Cognite Documentation

4 replies

  • Practitioner
  • 68 replies
  • November 12, 2024

The extractor does support ingesting OPC-UA events into CDF events. That said, it sounds like what you are asking for is ingesting string timeseries as events. There is some basic support for this, using “extraction.transformations”. Configure a transformation of type “AsEvents” with a filter that matches the specific timeseries you want to ingest as events.


For updating the OPC UA extraction file is there a specific component that needs to be configured for connecting from KEPServer Alarms & Events. A worked example?

Or are you referring to carrying out a transformation on an already ingested Timeseries and converting to Events?

 

Do you have an example of the expected SQL to select a specific time-series?


  • Practitioner
  • 68 replies
  • November 13, 2024

No, there’s a configuration option in the extractor named `transformations`, it can convert timeseries values to events.


Appreciate highlighting the function in the OPC UA Extractor.

Trialling the conversion of an existing time-series, the file is not executing. Config edited to include transformation script (edited parts for test highlighted). Are you able to extract to time-series and transform the same node to an event at the same time? What is the expected formatting of the name? Trialled multiple variations which include node-ids, etc.

    transformations:
      # Type, either "Ignore", "Property", "DropSubscriptions", "TimeSeries", "AsEvents", or "Include"
        - type: "AsEvents"
      #  NodeFilter. All non-null filters must match each node for the transformation to be applied.
        filter:
            # Regex on node DisplayName
            name: "^Feed_Hydrator"
            # Regex on node Description. If this is set, requires description to be non-null.
            # description:
            # Regex on node id. Ids on the form "i=123" or "s=string" are matched.
            # id:
            # Whether the node is an array. If this is set, the filter only matches varables.
            # is-array:
            # Regex on the full namespace of the node id.
            # namespace:
            # Regex on the id of the type definition. On the form "i=123" or "s=string"
            # type-definition:
            # The OPC-UA node class, exact match. Should be one of
            # "Object", "ObjectType", "Variable", "VariableType". The other types will work, but do nothing, since we never read those.
            node-class: “Variable”
            # The "historizing" attribute on variables. If this is set, the filter only matches variables.
            # historizing:
            # Another instance of NodeFilter which is applied to the parent node.
            # parent:
    # Configure extractor to trigger a rebrowse when there are changes to specific namespace metadata nodes.
    # Also supports filtering by namespace uris.


Reply


Cookie Policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie Settings