The Event Model defines a general purpose eventing system that can be used in many diverse vertical markets.
Events represent specific transient occurrences. System configuration changes and system errors are examples of Events. Event Notificationsreport the occurrence of an Event. Eventsdefined in this document are not directly visible in the OPC UA AddressSpace. Objects andViews can be used to subscribe to Events. The EventNotifier Attributeof those Nodesidentifies if the Nodeallows subscribing to Events. Clientssubscribe to such Nodesto receive Notificationsof Eventoccurrences.
Any OPC UA Serverthat supports eventing shall expose at least one Nodeas EventNotifier. The Server Objectdefined in OPC 10000-5is used for this purpose. Eventsgenerated by the Serverare available via this Server Object. A Serveris not expected to produce Eventsif the connection to the event source is down for some reason (i.e. the system is offline).
Eventsmay also be exposed through other Nodesanywhere in the AddressSpace. These Nodes(identified via the EventNotifier Attribute) provide some subset of the Eventsgenerated by the Server. The position in the AddressSpace dictates what this subset will be. For example, a process area Objectrepresenting a functional area of the process would provide Eventsoriginating from that area of the process only. It should be noted that this is only an example and it is fully up to the Serverto determine what Eventsshould be provided by which Node.
Each Eventis of a specific EventType. A Servermay support many types. This part defines the BaseEventTypethat all other EventTypesderive from. It is expected that other companion specifications will define additional EventTypesderiving from the base types defined in this part.
The EventTypessupported by a Serverare exposed in the AddressSpaceof a Server. EventTypesare represented as ObjectTypesin the AddressSpaceand do not have a special NodeClassassociated to them. OPC 10000-5defines how a Serverexposes the EventTypes in detail.
EventTypesdefined in this document are specified as abstract and therefore never instantiated in the AddressSpace. Event occurrences of those EventTypesare only exposed via a Subscription. EventTypesexist in the AddressSpaceto allow Clientsto discover the EventType. This information is used by a client when establishing and working with Event Subscriptions. EventTypesdefined by other parts of this series of standards or companion specifications as well as Serverspecific EventTypesmay be defined as not abstract and therefore instances of those EventTypesmay be visible in the AddressSpacealthough Eventsof those EventTypesare also accessible via the Event Notificationmechanisms.
Eventscan be categorised by creating new EventTypeswhich are subtypes of existing EventTypesbut do not extend an existing type. They are used only to identify an event as being of the new EventType. For example, the EventTypeDeviceFailureEventType could be subtyped into TransmitterFailureEventType and ComputerFailureEventType. These new subtypes would not add new Propertiesor change the semantic inherited from the DeviceFailureEventType other than purely for categorization of the Events.
Eventsources can also be organised into groups by using the Event ReferenceTypesdescribed in 7.16and 7.18. For example, a Servermay define Objectsin the AddressSpacerepresenting Eventsrelated to physical devices, or Eventareas of a plant or functionality contained in the Server. Event Referenceswould be used to indicate which Eventsources represent physical devices and which ones represent some Server-based functionality. In addition, Referencescan be used to group the physical devices or Server-based functionality into hierarchical Eventareas. In some cases, an Eventsource may be categorised as being both a device and a Serverfunction. In this case, two relationships would be established. Refer to the description of the Event ReferenceTypesfor additional examples.
Clientscan select a category or categories of Eventsby defining content filters that include terms specifying the EventTypeof the Eventor a grouping of Eventsources. The two mechanisms allow for a single Eventto be categorised in multiple manners. A client could obtain all Eventsrelated to a physical device or all failures of a particular device.