This EventTypeis defined in OPC 10000-3. Its representation in the AddressSpaceis formally defined in Table 23.

Table 23– BaseEventType definition

Attribute

Value

BrowseName

BaseEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseObjectTypedefined in 6.2

HasProperty

Variable

EventId

ByteString

PropertyType

Mandatory

HasProperty

Variable

EventType

NodeId

PropertyType

Mandatory

HasProperty

Variable

SourceNode

NodeId

PropertyType

Mandatory

HasProperty

Variable

SourceName

String

PropertyType

Mandatory

HasProperty

Variable

Time

UtcTime

PropertyType

Mandatory

HasProperty

Variable

ReceiveTime

UtcTime

PropertyType

Mandatory

HasProperty

Variable

LocalTime

TimeZoneDataType

PropertyType

Optional

HasProperty

Variable

Message

LocalizedText

PropertyType

Mandatory

HasProperty

Variable

Severity

UInt16

PropertyType

Mandatory

HasProperty

Variable

ConditionClassId

NodeId

PropertyType

Optional

HasProperty

Variable

ConditionClassName

LocalizedText

PropertyType

Optional

HasProperty

Variable

ConditionSubClassId

NodeId[]

PropertyType

Optional

HasProperty

Variable

ConditionSubClassName

LocalizedText[]

PropertyType

Optional

Conformance Units

Address Space Events

EventIdis generated by the Serverto uniquely identify a particular Event Notification. The Serveris responsible to ensure that each Eventhas its unique EventId. It may do this, for example, by putting GUIDs into the ByteString. Clients can use the EventIdto assist in minimizing or eliminating gaps and overlaps that may occur during a redundancy failover. The EventIdshall always be returned as value and the Serveris not allowed to return a StatusCodefor the EventIdindicating an error.

EventTypedescribes the specific type of Event. The EventTypeshall always be returned as value and the Serveris not allowed to return a StatusCodefor the EventTypeindicating an error.

TheSourceNode Property identifies the Nodethat the Eventoriginated from. If the Eventis not specific to a Nodethe NodeIdis set to null. Some subtypes of this BaseEventTypemay define additional rules for the SourceNode Property.

SourceNameprovides a description of the source of the Event. This could be the string-part of the DisplayNameof the Eventsource using the default locale of the server, if the Eventis specific to a Node,or some server-specific notation.

Timeprovides the time the Eventoccurred. This value is set as close to the event generator as possible. It often comes from the underlying system or device. Once set, intermediate OPC UA Serversshall not alter the value.

ReceiveTimeprovides the time the OPC UA Serverreceived the Eventfrom the underlying device of another Server. ReceiveTimeis analogous to ServerTimestampdefined in OPC 10000-4, i.e. in the case where the OPC UA Servergets an Eventfrom another OPC UA Server, each Serverapplies its own ReceiveTime. That implies that a Clientmay get the same Event,having the same EventId, from different Servershaving different values of the ReceiveTime. The ReceiveTimeshall always be returned as value and the Serveris not allowed to return a StatusCodefor the ReceiveTimeindicating an error.

LocalTimeis a structure containing the Offset and the DaylightSavingInOffset flag. The Offset specifies the time difference (in minutes) between the Time Propertyand the time at the location in which the event was issued. If DaylightSavingInOffset is TRUE, then Standard/Daylight savings time (DST) at the originating location is in effect and Offset includes the DST correction. If FALSE then the Offset does not include DST correction and DST may or may not have been in effect.

Messageprovides a human-readable and localizable text description of the Event. The Servermay return any appropriate text to describe the Event. A null string is not a valid value; if the Serverdoes not have a description, it shall return the string part of the BrowseNameof the Nodeassociated with the Event.

Severityis an indication of the urgency of the Event. This is also commonly called "priority". Values will range from 1 to 1 000, with 1 being the lowest severity and 1 000 being the highest. Typically, a severity of 1 would indicate an Eventwhich is informational in nature, while a value of 1 000 would indicate an Eventof catastrophic nature, which could potentially result in severe financial loss or loss of life.

It is expected that very few Serverimplementations will support 1 000 distinct severity levels. Therefore, Serverdevelopers are responsible for distributing their severity levels across the 1 to 1 000 range in such a manner that clients can assume a linear distribution. For example, a client wishing to present five severity levels to a user should be able to do the following mapping:

Client Severity

OPC Severity

HIGH

801 to 1 000

MEDIUM HIGH

601 to 800

MEDIUM

401 to 600

MEDIUM LOW

201 to 400

LOW

1 to 200

In many cases a strict linear mapping of underlying source severities to the OPC Severity range is not appropriate. The Serverdeveloper will instead intelligently map the underlying source severities to the 1 to 1 000 OPC Severity range in some other fashion. In particular, it is recommended that Serverdevelopers map Eventsof high urgency into the OPC severity range of 667 to 1 000, Eventsof medium urgency into the OPC severity range of 334 to 666 and Eventsof low urgency into OPC severities of 1 to 333.

For example, if a source supports 16 severity levels that are clustered such that severities 0 to 2 are considered to be LOW, 3 to 7 are MEDIUM and 8 to 15 are HIGH, then an appropriate mapping might be as follows:

OPC Range

Source Severity

OPC Severity

HIGH (667 to 1 000)

15

1 000

14

955

13

910

12

865

11

820

10

775

9

730

8

685

MEDIUM (334 to 666)

7

650

6

575

5

500

4

425

3

350

LOW (1 to 333)

2

300

1

150

0

1

Some Serversmight not support any Eventswhich are catastrophic in nature, so they may choose to map all of their severities into a subset of the 1 to 1 000 range (for example, 1 to 666). Other Serversmight not support any Eventswhich are merely informational, so they may choose to map all of their severities into a different subset of the 1 to 1 000 range (for example, 334 to 1 000).

The purpose of this approach is to allow clients to use severity values from multiple Serversfrom different vendors in a consistent manner. Additional discussions of severity can be found in OPC 10000-9.

ConditionClassIdspecifies in which domain this Eventis used. It is the NodeIdof the corresponding subtype of BaseConditionClassType. See OPC 10000-9for the definition of ConditionClassand a set of ConditionClassesdefined in this standard. When using this Propertyfor filtering, Clientshave to specify all individual subtypes of BaseConditionClassType NodeIds. The OfTypeoperator cannot be applied. BaseConditionClassTypeis used as class whenever an Eventcannot be assigned to a more concrete class.

ConditionClassNameprovides the DisplayNameof the of the ConditionClassType provided in the ConditionClassId.

ConditionSubClassIdspecifies additional class[es] that apply to the Event. It is the NodeIdof the corresponding subtype of BaseConditionClassType. See OPC 10000-9for the definition of ConditionClassand a set of ConditionClassesdefined in this standard. When using this Propertyfor filtering, Clientshave to specify all individual sub types of BaseConditionClassType NodeIds. The OfType operator cannot be applied. The Clientspecifies a NULL in the filter, to return Eventswhere no sub class is applied. When returning Events, if this optional field is not available in an Event, a NULL shall be returned for the field.

ConditionSubClassNameprovides the DisplayName[s] of the ConditionClassType[s] listed in the ConditionSubClassId.

The BrowseNames of the ConditionClassId, ConditionClassName, ConditionSubClassId, and ConditionSubClassName Properties originated from OPC 10000-9. They have now been generalized to also apply to Events, however to preserve backward compatibility the names have been preserved.