C++ Based OPC UA Client/Server/PubSub SDK  1.7.6.537
Event Types

BaseEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType BaseObjectType  
HasProperty Variable EventId ByteString Scalar PropertyType Mandatory
HasProperty Variable EventType NodeId Scalar PropertyType Mandatory
HasProperty Variable LocalTime TimeZoneDataType Scalar PropertyType Mandatory
HasProperty Variable Message LocalizedText Scalar PropertyType Mandatory
HasProperty Variable ReceiveTime UtcTime Scalar PropertyType Mandatory
HasProperty Variable Severity UInt16 Scalar PropertyType Mandatory
HasProperty Variable SourceName String Scalar PropertyType Mandatory
HasProperty Variable SourceNode NodeId Scalar PropertyType Mandatory
HasProperty Variable Time UtcTime Scalar PropertyType Mandatory

The BaseEventType defines all characteristics of an Event. All other EventTypes derive from it.

Variable EventId

Generated by the server to uniquely identify a particular Event Notification.

The Server is responsible to ensure that each Event has its unique EventId. It may do this, for example, by putting GUIDs into the ByteString. Clients can use the EventId to assist in minimizing or eliminating gaps and overlaps that may occur during a redundancy failover. The EventId shall always be returned as value and the Server is not allowed to return a StatusCode for the EventId indicating an error.

Variable EventType

Describes the specific type of Event.

The EventType shall always be returned as value and the Server is not allowed to return a StatusCode for the EventType indicating an error.

Variable SourceNode

Identifies the Node that the Event originated from.

If the Event is not specific to a Node, the NodeId is set to null. Some subtypes of this BaseEventType may define additional rules for SourceNode.

Variable SourceName

Provides a description of the source of the Event.

This could be the string part of the DisplayName of the Event source using the default locale of the server, if the Event is specific to a Node, or some server-specific notation.

Variable Time

Provides the time the Event occurred.

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 Servers shall not alter the value.

Variable ReceiveTime

Provides the time the OPC UA Server received the Event from the underlying device of another Server.

ReceiveTime is analogous to ServerTimestamp defined in Part 4 of the OPC UA Specification, i.e. in the case where the OPC UA Server gets an Event from another OPC UA Server, each Server applies its own ReceiveTime. That implies that a Client may get the same Event, having the same EventId, from different Servers having different values of the ReceiveTime. The ReceiveTime shall always be returned as value and the Server is not allowed to return a StatusCode for the ReceiveTime indicating an error.

Variable Message

Provides a human-readable and localizable text description of the Event.

The Server may return any appropriate text to describe the Event. A null string is not a valid value; if the Server does not have a description, it shall return the string part of the BrowseName of the Node associated with the Event.

Variable Severity

An indication of the urgency of the Event.

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

It is expected that very few Server implementations will support 1000 distinct severity levels. Therefore, Server developers are responsible for distributing their severity levels across the 1 to 1000 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 – 1000
MEDIUM HIGH 601 – 800
MEDIUM 401 – 600
MEDIUM LOW 201 – 400
LOW 1 – 200

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

Some Servers might not support any Events which are catastrophic in nature, so they may choose to map all of their severities into a subset of the 1 to 1000 range (for example, 1 to 666). Other Servers might not support any Events which are merely informational, so they may choose to map all of their severities into a different subset of the 1 to 1000 range (for example, 334 to 1000). The purpose of this approach is to allow clients to use severity values from multiple Servers from different vendors in a consistent manner. Additional discussions of severity can be found in Part 9 of the OPC UA specification.

Variable LocalTime

Contains the Offset and the DaylightSavingInOffset flag.

The Offset specifies the time difference (in minutes) between the Time Property and 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.

AuditEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType BaseEventType  
HasProperty Variable ActionTimeStamp UtcTime Scalar PropertyType Mandatory
HasProperty Variable ClientAuditEntryId String Scalar PropertyType Mandatory
HasProperty Variable ClientUserId String Scalar PropertyType Mandatory
HasProperty Variable ServerId String Scalar PropertyType Mandatory
HasProperty Variable Status Boolean Scalar PropertyType Mandatory

OPC UA includes support for security audit trails with traceability between Client and Server audit logs. OPC UA defines audit events for security related client actions, like creating a connection with a server, and also audit events for actions changing the system, like write calls to variables or method calls. If a security-related problem is detected at the Server, the associated Client audit log entry can be located and examined. OPC UA also provides the capability for Servers to generate Event Notifications that report auditable Events to Clients capable of processing and logging them. OPC UA defines security audit parameters that can be included in audit log entries and in audit Event Notifications.

AuditEvents are Events of AuditEventType or subtypes that are generated as a result of an action taken on the Server by a Client of the Server. For example, in response to a Client issuing a write to a Variable, the Server would generate an AuditEvent describing the Variable as the source and the user and Client session as the initiators of the Event.

OPC UA Servers create audit events for an auditable action request. If the action is accepted, then an action AuditEvent is generated and processed by the Server. If the action is not accepted due to security reasons, a security AuditEvent is generated and processed by the Server. The Server may involve the underlying device or system in the process, but it is the Server’s responsibility to provide the Event to any interested Clients. Clients are free to subscribe to Events from the Server and will receive the AuditEvents in response to normal Publish requests.

Variable ActionTimeStamp

Identifies the time the user initiated the action that resulted in the AuditEvent being generated.

It differs from the Time Property because this is the time the server generated the AuditEvent documenting the action.

Variable Status

Identifies whether the requested action could be performed.

Set Status to TRUE if the requested action could be performed, or to FALSE if not.

Variable ServerId

Uniquely identifies the Server generating the Event.

It identifies the Server uniquely even in a server-controlled transparent redundancy scenario where several Servers may use the same URI.

Variable ClientAuditEntryId

Contains the human-readable AuditEntryId.

All action requests include a human readable AuditEntryId. The AuditEntryId is included in the AuditEvent to allow human readers to correlate an Event with the initiating action. The AuditEntryId typically contains who initiated the action and from where it was initiated.

Variable ClientUserId

Identifies the user of the client requesting an action.

The ClientUserId can be obtained from the UserIdentityToken passed in the ActivateSession call. If the UserIdentityToken is a UserNameIdentityToken, then the ClientUserId is the UserName. If the UserIdentityToken is an X509IdentityToken, then the ClientUserId is the X509 Subject Name of the certificate. If the UserIdentityToken is an IssuedIdentityToken, then the ClientUserId should be a string that represents the owner of the token. The best choice for the string depends on the type of IssuedIdentityToken. If an AnonymousIdentityToken was used, the value is null.

AuditSecurityEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditEventType  

This EventType is a subtype of AuditEventType and is used only for categorization of security-related Events. This type follows all behaviour of its parent type.

There are no additional Properties defined for this EventType.

AuditChannelEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditSecurityEventType  
HasProperty Variable SecureChannelId String Scalar PropertyType Mandatory

This is a subtype of AuditSecurityEventType and is used for categorization of security-related Events from the SecureChannel Service Set defined in Part 4 of the OPC UA Specification.

This EventType inherits all Properties of the AuditSecurityEventType. SourceNode for Events of this type should be assigned to the Server object. The SourceName for Events of this type should be “SecureChannel/” followed by the Service that generates the Event (e.g. SecureChannel/OpenSecureChannel or SecureChannel/CloseSecureChannel). If the ClientUserId is not available for a CloseSecureChannel call, then this parameter shall be set to “System/CloseSecureChannel”.

Variable SecureChannelId

Uniquely identifies the SecureChannel.

The application shall use the same identifier in all AuditEvents related to the Session Service Set ( AuditCreateSessionEventType, AuditActivateSessionEventType and their subtypes) and the SecureChannel Service Set ( AuditChannelEventType and its subtypes).

AuditOpenSecureChannelEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditChannelEventType  
HasProperty Variable ClientCertificate ByteString Scalar PropertyType Mandatory
HasProperty Variable ClientCertificateThumbprint String Scalar PropertyType Mandatory
HasProperty Variable RequestedLifetime Duration Scalar PropertyType Mandatory
HasProperty Variable RequestType SecurityTokenRequestType Scalar PropertyType Mandatory
HasProperty Variable SecurityMode MessageSecurityMode Scalar PropertyType Mandatory
HasProperty Variable SecurityPolicyUri String Scalar PropertyType Mandatory

This is a subtype of AuditChannelEventType and is used for Events generated from calling the OpenSecureChannel Service defined in Part 4 of the OPC UA Specification.

This EventType inherits all Properties of the AuditChannelEventType. SourceName for Events of this type should be “SecureChannel/OpenSecureChannel”. The ClientUserId is not available for this call, thus this parameter shall be set to “System/OpenSecureChannel”. The additional Properties defined for this EventType reflect parameters of the Service call that triggers the Event.

Variable ClientCertificate

The clientCertificate parameter of the OpenSecureChannel Service call.

Variable RequestType

The requestType parameter of the OpenSecureChannel Service call.

Variable SecurityPolicyUri

The securityPolicyUri parameter of the OpenSecureChannel Service call.

Variable SecurityMode

The securityMode parameter of the OpenSecureChannel Service call.

Variable RequestedLifetime

The requestedLifetime parameter of the OpenSecureChannel Service call.

Variable ClientCertificateThumbprint

A thumbprint of the ClientCertificate.

See Part 6 of the OPC UA Specification for details on thumbprints.

AuditSessionEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditSecurityEventType  
HasProperty Variable SessionId NodeId Scalar PropertyType Mandatory

This is a subtype of AuditSecurityEventType and is used for categorization of security-related Events from the Session Service Set defined in Part 4 of the OPC UA Specification.

This EventType inherits all Properties of the AuditSecurityEventType.

If the Event is generated by a TransferSubscriptions Service call, the SourceNode should be assigned to the SessionDiagnostics object that represents the session. The SourceName for Events of this type should be “Session/TransferSubscriptions”.

Otherwise, the SourceNode for Events of this type should be assigned to the Server object. The SourceName for Events of this type should be “Session/” and the Service that generates the Event (e.g. CreateSession, ActivateSession or CloseSession).

Variable SessionId

The SessionId of the session that the Service call was issued on.

In the CreateSession Service this shall be set to the newly created SessionId. If no session context exists (e.g. for a failed CreateSession Service call), the SessionId is set to null.

AuditCreateSessionEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditSessionEventType  
HasProperty Variable ClientCertificate ByteString Scalar PropertyType Mandatory
HasProperty Variable ClientCertificateThumbprint String Scalar PropertyType Mandatory
HasProperty Variable RevisedSessionTimeout Duration Scalar PropertyType Mandatory
HasProperty Variable SecureChannelId String Scalar PropertyType Mandatory

This is a subtype of AuditSessionEventType and is used for Events generated from calling the CreateSession Service defined in Part 4 of the OPC UA Specification.

This EventType inherits all Properties of the AuditSessionEventType. The SourceName for Events of this type should be “Session/CreateSession”. The ClientUserId is not available for this call thus this parameter shall be set to the “System/CreateSession”.

The additional Properties defined for this EventType reflect parameters of the Service call that triggers the Event.

Variable SecureChannelId

Uniquely identifies the SecureChannel

The application shall use the same identifier in all AuditEvents related to the Session Service Set ( AuditCreateSessionEventType, AuditActivateSessionEventType and their subtypes) and the SecureChannel Service Set ( AuditChannelEventType and its subtypes).

Variable ClientCertificate

The clientCertificate parameter of the CreateSession Service call.

Variable RevisedSessionTimeout

The returned revisedSessionTimeout parameter of the CreateSession Service call.

Variable ClientCertificateThumbprint

A thumbprint of the ClientCertificate.

See Part 6 of the OPC UA Specification for details on thumbprints.

AuditActivateSessionEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditSessionEventType  
HasProperty Variable ClientSoftwareCertificates SignedSoftwareCertificate OneDimension PropertyType Mandatory
HasProperty Variable SecureChannelId String Scalar PropertyType Mandatory
HasProperty Variable UserIdentityToken UserIdentityToken Scalar PropertyType Mandatory

This is a subtype of AuditSessionEventType and is used for Events generated from calling the ActivateSession Service defined in Part 4 of the OPC UA Specification.

This EventType inherits all Properties of the AuditSessionEventType. The SourceName for Events of this type should be “Session/ActivateSession”.

The additional Properties defined for this EventType reflect parameters of the Service call that triggers the Event.

Variable ClientSoftwareCertificates

The clientSoftwareCertificates parameter of the ActivateSession Service call.

Variable UserIdentityToken

The userIdentityToken parameter of the ActivateSession Service call.

For Username/Password tokens the password should not be included.

Variable SecureChannelId

Uniquely identifies the SecureChannel.

The application shall use the same identifier in all AuditEvents related to the Session Service Set ( AuditCreateSessionEventType, AuditActivateSessionEventType and their subtypes) and the SecureChannel Service Set ( AuditChannelEventType and its subtypes).

AuditCancelEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditSessionEventType  
HasProperty Variable RequestHandle UInt32 Scalar PropertyType Mandatory

This is a subtype of AuditSessionEventType and is used for Events generated from calling the Cancel Service defined in Part 4 of the OPC UA Specification.

This EventType inherits all Properties of the AuditSessionEventType. The SourceName for Events of this type should be “Session/Cancel”.

The additional Properties defined for this EventType reflect parameters of the Service call that triggers the Event.

Variable RequestHandle

The requestHandle parameter of the Cancel Service call.

AuditCertificateEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditSecurityEventType  
HasProperty Variable Certificate ByteString Scalar PropertyType Mandatory

This is a subtype of AuditSecurityEventType and is used only for categorization of certificate related Events. This type follows all behaviours of its parent type. These AuditEvents will be generated for certificate errors in addition to other AuditEvents related to service calls.

This EventType inherits all Properties of the AuditSecurityEventType. The SourceName for Events of this type should be “Security/Certificate”.

Variable Certificate

The certificate that encountered a validation issue.

Additional subtypes of this EventType will be defined representing the individual validation errors. This certificate can be matched to the Service that passed it (Session or SecureChannel Service Set) since the AuditEvents for these Services also include the certificate.

AuditCertificateDataMismatchEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditCertificateEventType  
HasProperty Variable InvalidHostname String Scalar PropertyType Mandatory
HasProperty Variable InvalidUri String Scalar PropertyType Mandatory

This is a subtype of AuditCertificateEventType and is used only for categorization of certificate related Events. This type follows all behaviours of its parent type. This AuditEvent is generated if the HostName in the URL used to connect to the Server is not the same as one of the HostNames specified in the certificate, or if the application and Software certificates contain an application or product URI that does not match the URI specified in the ApplicationDescription provided with the certificate. For more details on certificates see Part 4 of the OPC UA Specification.

This EventType inherits all Properties of the AuditCertificateEventType. The SourceName for Events of this type should be “Security/Certificate”.

Variable InvalidHostname

The string that represents the host name passed in as part of the URL that is found to be invalid.

If the host name was not invalid, it can be null.

Variable InvalidUri

The URI that was passed in and found to not match what is contained in the certificate.

If the URI was not invalid, it can be null.

AuditCertificateExpiredEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditCertificateEventType  

This is a subtype of AuditCertificateEventType and is used only for categorization of certificate related Events. This type follows all behaviours of its parent type. This AuditEvent is generated if the current time is outside the validity period’s start date and end date.

This EventType inherits all Properties of the AuditCertificateEventType. The SourceName for Events of this type should be “Security/Certificate”. The Message Variable shall include a description of why the certificate was expired (i.e. time before start or time after end). There are no additional Properties defined for this EventType.

AuditCertificateInvalidEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditCertificateEventType  

This is a subtype of AuditCertificateEventType and is used only for categorization of certificate related Events. This type follows all behaviours of its parent type. This AuditEvent is generated if the certificate structure is invalid or if the certificate has an invalid signature.

This EventType inherits all Properties of the AuditCertificateEventType. The SourceName for Events of this type should be “Security/Certificate”. The Message shall include a description of why the certificate is invalid. There are no additional Properties defined for this EventType.

AuditCertificateUntrustedEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditCertificateEventType  

This is a subtype of AuditCertificateEventType and is used only for categorization of certificate related Events. This type follows all behaviours of its parent type. This AuditEvent is generated if the certificate is not trusted, that is, if the Issuer certificate is unknown.

This EventType inherits all Properties of the AuditCertificateEventType. The SourceName for Events of this type should be “Security/Certificate”. The Message Variable shall include a description of why the certificate is not trusted. If a trust chain is involved, then the certificate that failed in the trust chain should be described. There are no additional Properties defined for this EventType.

AuditCertificateRevokedEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditCertificateEventType  

This is a subtype of AuditCertificateEventType and is used only for categorization of certificate related Events. This type follows all behaviours of its parent type. This AuditEvent is generated if a certificate has been revoked or if the revocation list is not available (i.e. a network interruption prevents the application from accessing the list).

This EventType inherits all Properties of the AuditCertificateEventType. The SourceName for Events of this type should be “Security/Certificate”. The Message Variable shall include a description of why the certificate is revoked (was the revocation list unavailable or was the certificate on the list). There are no additional Properties defined for this EventType.

AuditCertificateMismatchEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditCertificateEventType  

This is a subtype of AuditCertificateEventType and is used only for categorization of certificate related Events. This type follows all behaviours of its parent type. This AuditEvent is generated if a certificate set of uses does not match the requested use for the certificate (i.e. application, Software or Certificate Authority).

This EventType inherits all Properties of the AuditCertificateEventType. The SourceName for Events of this type should be “Security/Certificate”. The Message Variable shall include a description of the misuse of the certificate. There are no additional Properties defined for this EventType.

AuditNodeManagementEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditEventType  

This is a subtype of AuditEventType and is used for categorization of node management related Events. This type follows all behaviours of its parent type.

This EventType inherits all Properties of the AuditEventType. There are no additional Properties defined for this EventType. The SourceNode for Events of this type should be assigned to the Server object. The SourceName for Events of this type should be “NodeManagement/” and the Service that generates the Event (e.g. AddNodes, AddReferences, DeleteNodes, DeleteReferences).

AuditAddNodesEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditNodeManagementEventType  
HasProperty Variable NodesToAdd AddNodesItem OneDimension PropertyType Mandatory

This is a subtype of AuditNodeManagementEventType and is used for Events generated from calling the AddNodes Service defined in Part 4 of the OPC UA Specification.

This EventType inherits all Properties of the AuditNodeManagementEventType. The SourceName for Events of this type should be “NodeManagement/AddNodes”.

The additional Properties defined for this EventType reflect parameters of the Service call that triggers the Event.

Variable NodesToAdd

The NodesToAdd parameter of the AddNodes Service call.

AuditDeleteNodesEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditNodeManagementEventType  
HasProperty Variable NodesToDelete DeleteNodesItem OneDimension PropertyType Mandatory

This is a subtype of AuditNodeManagementEventType and is used for Events generated from calling the DeleteNodes Service defined in Part 4 of the OPC UA Specification.

This EventType inherits all Properties of the AuditNodeManagementEventType. The SourceName for Events of this type should be “NodeManagement/DeleteNodes”.

The additional Properties defined for this EventType reflect parameters of the Service call that triggers the Event.

Variable NodesToDelete

The nodesToDelete parameter of the DeleteNodes Service call.

AuditAddReferencesEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditNodeManagementEventType  
HasProperty Variable ReferencesToAdd AddReferencesItem OneDimension PropertyType Mandatory

This is a subtype of AuditNodeManagementEventType and is used for Events generated from calling the AddReferences Service defined in Part 4 of the OPC UA Specification.

This EventType inherits all Properties of the AuditNodeManagementEventType.

The SourceName for Events of this type should be “NodeManagement/AddReferences”.

The additional Properties defined for this EventType reflect parameters of the Service call that triggers the Event.

Variable ReferencesToAdd

The referencesToAdd parameter of the AddReferences Service call.

AuditDeleteReferencesEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditNodeManagementEventType  
HasProperty Variable ReferencesToDelete DeleteReferencesItem OneDimension PropertyType Mandatory

This is a subtype of AuditNodeManagementEventType and is used for Events generated from calling the DeleteReferences Service defined in Part 4 of the OPC UA Specification.

This EventType inherits all Properties of the AuditNodeManagementEventType. The SourceName for Events of this type should be “NodeManagement/DeleteReferences”.

The additional Properties defined for this EventType reflect parameters of the Service call that triggers the Event.

Variable ReferencesToDelete

The referencesToDelete parameter of the DeleteReferences Service call.

AuditUpdateEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditEventType  

This is a subtype of AuditEventType and is used for categorization of update related Events. This type follows all behaviours of its parent type.

This EventType inherits all Properties of the AuditEventType. The SourceNode for Events of this type should be assigned to the NodeId that was changed. The SourceName for Events of this type should be “Attribute/” and the Service that generated the event (e.g. Write, HistoryUpdate). Note that one Service call may generate several Events of this type, one per changed value.

AuditWriteUpdateEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditUpdateEventType  
HasProperty Variable AttributeId UInt32 Scalar PropertyType Mandatory
HasProperty Variable IndexRange NumericRange Scalar PropertyType Mandatory
HasProperty Variable NewValue BaseDataType Scalar PropertyType Mandatory
HasProperty Variable OldValue BaseDataType Scalar PropertyType Mandatory

This is a subtype of AuditUpdateEventType and is used for categorization of write update related Events. This type follows all behaviours of its parent type.

This EventType inherits all Properties of the AuditUpdateEventType. The SourceName for Events of this type should be “Attribute/Write”.

Variable IndexRange

Identifies the index range of the written Attribute if the Attribute is an array.

If the Attribute is not an array or the whole array was written, the IndexRange is set to null.

Variable OldValue

Identifies the value that the SourceNode contained before the write.

If the IndexRange is provided, only the value of that range is shown. It is acceptable for a Server that does not have this information to report a null value.

Both the NewValue and the OldValue will contain a value in the DataType and encoding used for writing the value.

Variable NewValue

Identifies the value that was written to the SourceNode.

If the IndexRange is provided, only the values in the provided range are shown.

Both the NewValue and the OldValue will contain a value in the DataType and encoding used for writing the value.

Variable AttributeId

Identifies the Attribute that was written on the SourceNode.

AuditHistoryUpdateEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditUpdateEventType  
HasProperty Variable ParameterDataTypeId NodeId Scalar PropertyType Mandatory

This is a subtype of AuditUpdateEventType and is used for categorization of history update related Events. This type follows all behaviours of its parent type.

This EventType inherits all Properties of the AuditUpdateEventType.

Subtypes of this EventType are defined in Part 11 of the OPC UA Specification, representing the different possibilities to manipulate historical data.

Variable ParameterDataTypeId

Identifies the DataTypeId for the extensible parameter used by the HistoryUpdate.

This parameter indicates the type of HistoryUpdate being performed.

AuditUpdateMethodEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditEventType  
HasProperty Variable InputArguments BaseDataType OneDimension PropertyType Mandatory
HasProperty Variable MethodId NodeId Scalar PropertyType Mandatory

This is a subtype of AuditEventType and is used for categorization of Method related Events. This type follows all behaviours of its parent type.

This EventType inherits all Properties of the AuditEventType. The SourceNode for Events of this type should be assigned to the NodeId of the object that the method resides on. The SourceName for Events of this type should be “Attribute/Call”. Note that one Service call may generate several Events of this type, one per method called. This EventType should be further subtyped to better reflect the functionality of the method and to reflect changes to the address space or updated values triggered by the method.

Variable MethodId

Identifies the method that was called.

Variable InputArguments

Identifies the input Arguments for the method.

This parameter can be null if no input arguments where provided.

SystemEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType BaseEventType  

Event which is generated as a result of some Event that occurs within the Server or by a system that the Server is representing.

This EventType inherits all Properties of the BaseEventType. There are no additional Properties defined for this EventType.

DeviceFailureEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType SystemEventType  

Event that indicates a failure in a device of the underlying system.

This EventType inherits all Properties of the SystemEventType. There are no additional Properties defined for this EventType.

BaseModelChangeEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType BaseEventType  

BaseType for ModelChangeEvents.

This Event does not contain information about the changes but only indicates that changes occurred. Therefore the Client shall assume that any or all of the Nodes may have changed.

This EventType inherits all Properties of the BaseEventType. There are no additional Properties defined for this EventType. The SourceNode for Events of this type should be the Node of the View that gives the context of the changes. If the whole AddressSpace is the context, the SourceNode is set to the NodeId of the Server object. The SourceName for Events of this type should be the String part of the BrowseName of the View; for the whole AddressSpace it should be “Server”.

Two types of ModelChangeEvents are defined: the BaseModelChangeEvent that does not contain any information about the changes and the GeneralModelChangeEvent that identifies the changed Nodes via an array. The precision used depends on both the capability of the OPC UA Server and the nature of the update. An OPC UA Server may use either ModelChangeEvent type depending on circumstances. It may also define subtypes of these EventTypes adding additional information. To ensure interoperability, one should follow the guidelines for Events listed below.

  • If the array of the GeneralModelChangeEvent is present, then it should identify every Node that has changed since the preceding ModelChangeEvent.
  • The OPC UA Server should emit exactly one ModelChangeEvent for an update or series of updates. It should not issue multiple types of ModelChangeEvent for the same update.
  • Any Client that responds to ModelChangeEvents should respond to any Event of the BaseModelChangeEventType including its subtypes like the GeneralModelChangeEventType.

If a Client is not capable of interpreting additional information of the subtypes of the BaseModelChangeEventType, it should treat Events of these types the same way as Events of the BaseModelChangeEventType.

GeneralModelChangeEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType BaseModelChangeEventType  
HasProperty Variable Changes ModelChangeStructureDataType OneDimension PropertyType Mandatory

Contains information about the Node that was changed and the action that occurred to cause the ModelChangeEvent (e.g. add a Node, delete a Node, etc.).

If the affected Node is a Variable or object, then the TypeDefinitionNode is also present.

To allow Event compression, a GeneralModelChangeEvent contains an array of changes.

This EventType inherits all Properties of the BaseModelChangeEventType.

Two types of ModelChangeEvents are defined: the BaseModelChangeEvent that does not contain any information about the changes and the GeneralModelChangeEvent that identifies the changed Nodes via an array. The precision used depends on both the capability of the OPC UA Server and the nature of the update. An OPC UA Server may use either ModelChangeEvent type depending on circumstances. It may also define subtypes of these EventTypes adding additional information. To ensure interoperability, one should follow the guidelines for Events listed below.

  • If the array of the GeneralModelChangeEvent is present, then it should identify every Node that has changed since the preceding ModelChangeEvent.
  • The OPC UA Server should emit exactly one ModelChangeEvent for an update or series of updates. It should not issue multiple types of ModelChangeEvent for the same update.
  • Any Client that responds to ModelChangeEvents should respond to any Event of the BaseModelChangeEventType including its subtypes like the GeneralModelChangeEventType.

If a Client is not capable of interpreting additional information of the subtypes of the BaseModelChangeEventType, it should treat Events of these types the same way as Events of the BaseModelChangeEventType.

Variable Changes

Reflects the changes that issued the ModelChangeEvent.

It shall contain at least one entry in its array.

SemanticChangeEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType BaseModelChangeEventType  
HasProperty Variable Changes SemanticChangeStructureDataType OneDimension PropertyType Mandatory

Event that indicates a change of the AddressSpace semantics.

The change consists of a change to the Value Attribute of a Property.

The SemanticChangeEvent contains information about the Node owning the Property that was changed. If this is a Variable or object, the TypeDefinitionNode is also present.

The SemanticChange bit of the AccessLevel Attribute of a Property indicates whether changes of the Property value are considered for SemanticChangeEvents

The ViewVersion and NodeVersion Properties do not change due to the publication of a SemanticChangeEvent. There is no standard way to identify which Nodes trigger a SemanticChangeEvent and which Nodes do not.

SemanticChangeEvents are handled in the context of a View the same way as ModelChangeEvents.

SemanticChangeEvents can be compressed the same way as ModelChangeEvents.

This EventType inherits all Properties of the BaseEventType. There are no additional Properties defined for this EventType. The SourceNode for Events of this type should be the Node of the View that gives the context of the changes. If the whole AddressSpace is the context, the SourceNode is set to the NodeId of the Server object. The SourceName for Events of this type should be the String part of the BrowseName of the View, for the whole AddressSpace it should be “Server”.

Variable Changes

Reflects the changes that issued the SemanticChangeEvent.

AuditUrlMismatchEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType AuditCreateSessionEventType  
HasProperty Variable EndpointUrl String Scalar PropertyType Mandatory

This is a subtype of AuditCreateSessionEventType and is used for Events generated from calling the CreateSession Service defined in Part 4 of the OPC UA Specification if the EndpointUrl used in the service call does not match the Server’s HostNames (see Part 4 of the OPC UA Specification for details).

This EventType inherits all Properties of the AuditSessionEventType. The additional Properties defined for this EventType reflect parameters of the Service call that triggers the Event.

Variable EndpointUrl

The endpointUrl parameter of the CreateSession Service call.

EventQueueOverflowEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType BaseEventType  

Generated when an internal queue of a MonitoredItem subscribing for Events in the Server overflows.

This EventType inherits all Properties of the BaseEventType. The SourceNode for Events of this type shall be assigned to the NodeId of the Server object. The SourceName for Events of this type shall be “Internal/EventQueueOverflow”.

This Event is generated when the first Event has to be discarded on a MonitoredItem subscribing for Events. It is put into the Queue of the MonitoredItem in addition to the size of the Queue defined for this MonitoredItem without discarding any other Event. If discardOldest is set to TRUE, it is put at the beginning of the queue and is never discarded, otherwise at the end. An aggregating Server shall not pass on such an Event. It shall be handled like other connection error scenarios

ProgressEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType BaseEventType  
HasProperty Variable Context BaseDataType Scalar PropertyType Mandatory
HasProperty Variable Progress UInt16 Scalar PropertyType Mandatory

Generated to identify the progress of an operation.

An operation can be a Service call or something application specific like a program execution. This EventType inherits all Properties of the BaseEventType. The SourceNode for Events of this type shall be assigned to the NodeId of the Session object where the operation was initiated. The SourceName for Events of this type shall be “Service/[Service Name as defined in Part 4 of the OPC UA Specification]” when the progress of a Service call is exposed.

It is recommended that Servers only expose ProgressEvents for Service calls to the Session that invoked the Service.

Variable Context

Contains context information about what operation progress is reported.

In the case of Service calls it shall be a UInt32 containing the requestHandle of the RequestHeader of the Service call.

Variable Progress

Contains the percentage completed of the progress.

The value shall be between 0 and 100, where 100 identifies that the operation has been finished.

SystemStatusChangeEventType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype ObjectType SystemEventType  
HasProperty Variable SystemState ServerState Scalar PropertyType Mandatory

Event that indicates a status change in a system.

For example, if the status indicates that an underlying system is not running, then a Client cannot expect any Events from the underlying system. A Server can identify its own status changes using this EventType.

This EventType inherits all Properties of the SystemEventType. The SourceNode and the SourceName shall identify the system. The system can be the Server itself or some underlying system.

Variable SystemState

Specifies the current state of the system.

Changes to the ServerState of the system shall trigger a SystemStatusChangeEvent, when the event is supported by the system.