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?
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?
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.