Errata exists for this version of the document.

Typically, the components of an ObjectType are fixed and can be extended by subtyping. However, since each Object of an ObjectType can be extended with additional components, this standard allows extending the standard ObjectTypes defined in this document with additional components. Thereby, it is possible to express the additional information in the type definition that would already be contained in each Object. Some ObjectTypes already provide entry points for server-specific extensions. However, it is not allowed to restrict the components of the standard ObjectTypes defined in this standard. An example of extending the ObjectTypes is putting the standard Property NodeVersion defined in OPC 10000-3 into the BaseObjectType, stating that each Object of the Server will provide a NodeVersion.

The BaseObjectType is used as type definition whenever there is an Object having no more concrete type definitions available. Servers should avoid using this ObjectType and use a more specific type, if possible. This ObjectType is the base ObjectType and all other ObjectTypes shall either directly or indirectly inherit from it. However, it might not be possible for Servers to provide all HasSubtype References from this ObjectType to its subtypes, and therefore it is not required to provide this information.

There are no References except for HasSubtype References specified for this ObjectType. It is formally defined in Table 8.

Table 8 – BaseObjectType Definition

Attribute

Value

BrowseName

BaseObjectType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasSubtype

ObjectType

ServerType

Defined in 6.3.1

HasSubtype

ObjectType

ServerCapabilitiesType

Defined in 6.3.2

HasSubtype

ObjectType

ServerDiagnosticsType

Defined in 6.3.3

HasSubtype

ObjectType

SessionsDiagnosticsSummaryType

Defined in 6.3.4

HasSubtype

ObjectType

SessionDiagnosticsObjectType

Defined in 6.3.5

HasSubtype

ObjectType

VendorServerInfoType

Defined in 6.3.6

HasSubtype

ObjectType

ServerRedundancyType

Defined in 6.3.7

HasSubtype

ObjectType

BaseEventType

Defined in 6.4.2

HasSubtype

ObjectType

ModellingRuleType

Defined in 6.5

HasSubtype

ObjectType

FolderType

Defined in 6.6

HasSubtype

ObjectType

DataTypeEncodingType

Defined in 6.7

This ObjectType defines the capabilities supported by the OPC UA Server. It is formally defined in Table 9.

Table 9 – ServerType Definition

Attribute

Value

BrowseName

ServerType

IsAbstract

False

References

NodeClass

BrowseName

DataType / TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in 6.2

HasProperty

Variable

ServerArray

String[]

PropertyType

Mandatory

HasProperty

Variable

NamespaceArray

String[]

PropertyType

Mandatory

HasProperty

Variable

UrisVersion

VersionTime

PropertyType

Optional

HasComponent

Variable

ServerStatus1

ServerStatusDataType

ServerStatusType

Mandatory

HasProperty

Variable

ServiceLevel

Byte

PropertyType

Mandatory

HasProperty

Variable

Auditing

Boolean

PropertyType

Mandatory

HasProperty

Variable

EstimatedReturnTime

DateTime

PropertyType

Optional

HasProperty

Variable

LocalTime

TimeZoneDataType

PropertyType

Optional

HasComponent

Object

ServerCapabilities1

-

ServerCapabilitiesType

Mandatory

HasComponent

Object

ServerDiagnostics1

-

ServerDiagnosticsType

Mandatory

HasComponent

Object

VendorServerInfo

-

VendorServerInfoType

Mandatory

HasComponent

Object

ServerRedundancy1

-

ServerRedundancyType

Mandatory

HasComponent

Object

Namespaces

-

NamespacesType

Optional

HasComponent

Method

GetMonitoredItems

Defined in 9.1

Optional

HasComponent

Method

ResendData

Defined in 9.2

Optional

HasComponent

Method

SetSubscriptionDurable

Defined in 9.3

Optional

HasComponent

Method

RequestServerStateChange

Defined in 9.4

Optional

NOTE Containing Objects and Variables of these Objects and Variables are defined by their BrowseName defined in the corresponding TypeDefinitionNode. The NodeId is defined by the composed symbolic name described in 4.1.

ServerArray defines an array of Server URIs. This Variable is also referred to as the server table. Each URI in this array represents a globally-unique logical name for a Server within the scope of the network in which it is installed. Each OPC UA Server instance has a single URI that is used in the server table of other OPC UA Servers. Index 0 is reserved for the URI of the local Server. Values above 0 are used to identify remote Servers and are specific to a Server. OPC 10000-4 describes discovery mechanism that can be used to resolve URIs into URLs. The Server URI is case sensitive.

The URI of the ServerArray with Index 0 shall be identical to the URI of the NamespaceArray with Index 1, since both represent the local Server.

The indexes into the server table are referred to as server indexes or server names. They are used in OPC UA Services to identify TargetNodes of References that reside in remote Servers. Clients may read the entire table or they may read individual entries in the table. The Server shall not modify or delete entries of this table while any client has an open session to the Server, because clients may cache the server table. A Server may add entries to the server table even if clients are connected to the Server.

NamespaceArray defines an array of namespace URIs. This Variable is also referred as namespace table. The indexes into the namespace table are referred to as NamespaceIndexes. NamespaceIndexes are used in NodeIds in OPC UA Services, rather than the longer namespace URI. Index 0 is reserved for the OPC UA namespace, and index 1 is reserved for the local Server. Clients may read the entire namespace table or they may read individual entries in the namespace table. The Server shall not modify or delete entries of the namespace table while any client has an open session to the Server, because clients may cache the namespace table. A Server may add entries to the namespace table even if clients are connected to the Server. It is recommended that Servers not change the indexes of the namespace table but only add entries, because the client may cache NodeIds using the indexes. Nevertheless, it might not always be possible for Servers to avoid changing indexes in the namespace table. Clients that cache NamespaceIndexes of NodeIds should always check when starting a session to verify that the cached NamespaceIndexes have not changed.

UrisVersion defines the version of the ServerArray and the NamespaceArray. Everytime the ServerArray or the NamespaceArray is changed, the value of the UrisVersion shall be updated to a value greater than the previous value. The UrisVersion Property is used in combination with the SessionlessInvoke Service defined in OPC 10000-4. If a Server supports this Service, the Server shall support this Property. It is the responsibility of the Server to provide a consistent set of values for the ServerArray, NamespaceArray and the UrisVersion Properties. The VersionTime DataType is defined in OPC 10000-4.

ServerStatus contains elements that describe the status of the Server. See 12.10 for a description of its elements.

ServiceLevel describes the ability of the Server to provide its data to the client. The value range is from 0 to 255, where 0 indicates the worst and 255 indicates the best. OPC 10000-4 defines required sub-ranges for different scenarios. The intent is to provide the clients an indication of availability among redundant Servers.

Auditing is a Boolean specifying if the Server is currently generating audit events. It is set to TRUE if the Server generates audit events, otherwise to false. The Profiles defined in OPC 10000-7 specify what kind of audit events are generated by the Server.

EstimatedReturnTime indicates the time at which the Server is expected to have a ServerStatus.State of RUNNING_0. A Client that observes a shutdown or a ServiceLevel of 0 should either wait until after this time to attempt to reconnect to this Server or enter into slow retry logic. For example, most Clients will attempt to reconnect after a failure immediately and then progressively increase the delay between attempts until some maximum delay. This time can be used to trigger the Client to start its reconnect logic with some delay.

LocalTime is a structure containing the Offset and the DaylightSavingInOffset flag. The Offset specifies the time difference (in minutes) between the Server time in UTC and the local time at the Server location. If DaylightSavingInOffset is TRUE, then Standard/Daylight savings time (DST) at the Server 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 be in effect.

ServerCapabilities defines the capabilities supported by the OPC UA Server. See 6.3.2 for its description.

ServerDiagnostics defines diagnostic information about the OPC UA Server. See 6.3.3 for its description.

VendorServerInfo represents the browse entry point for vendor-defined Server information. This Object is required to be present even if there are no vendor-defined Objects beneath it. See 6.3.6 for its description.

ServerRedundancy describes the redundancy capabilities provided by the Server. This Object is required even if the Server does not provide any redundancy support. If the Server supports redundancy, then a subtype of ServerRedundancyType is used to describe its capabilities. Otherwise, it provides an Object of type ServerRedundancyType with the Property RedundancySupport set to none. See 6.3.7 for the description of ServerRedundancyType.

Namespaces provides a list of NamespaceMetadataType Objects with additional information about the namespaces used in the Server. See 6.3.14 for the description of NamespaceMetadataType.

The GetMonitoredItems Method is used to identify the MonitoredItems of a Subscription. It is defined in 9.1; the intended usage is defined in OPC 10000-4.

The ResendData Method is used to get the latest values of the data monitored items of a Subscription. It is defined in 9.2; the intended usage is defined in OPC 10000-4.

The SetSubscriptionDurable Method is used to set a Subscription into a mode where MonitoredItem data and event queues are stored and delivered even if an OPC UA Client was disconnected for a longer time or the OPC UA Server was restarted. It is defined in 9.3; the intended usage is defined in OPC 10000-4.

The RequestServerStateChange Method allows a Client to request a state change in the Server. It is defined in 9.4; the intended usage is defined in OPC 10000-4.

This ObjectType defines the capabilities supported by the OPC UA Server. It is formally defined in Table 10.

Table 10 – ServerCapabilitiesType Definition

Attribute

Value

BrowseName

ServerCapabilitiesType

IsAbstract

False

References

NodeClass

BrowseName

DataType / TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in 6.2

HasProperty

Variable

ServerProfileArray

String[]

PropertyType

Mandatory

HasProperty

Variable

LocaleIdArray

LocaleId[]

PropertyType

Mandatory

HasProperty

Variable

MinSupportedSampleRate

Duration

PropertyType

Mandatory

HasProperty

Variable

MaxBrowseContinuationPoints

UInt16

PropertyType

Mandatory

HasProperty

Variable

MaxQueryContinuationPoints

UInt16

PropertyType

Mandatory

HasProperty

Variable

MaxHistoryContinuationPoints

UInt16

PropertyType

Mandatory

HasProperty

Variable

SoftwareCertificates

SignedSoftwareCertificate[]

PropertyType

Mandatory

HasProperty

Variable

MaxArrayLength

UInt32

PropertyType

Optional

HasProperty

Variable

MaxStringLength

UInt32

PropertyType

Optional

HasProperty

Variable

MaxByteStringLength

UInt32

PropertyType

Optional

HasComponent

Object

OperationLimits

--

OperationLimitsType

Optional

HasComponent

Object

ModellingRules

--

FolderType

Mandatory

HasComponent

Object

AggregateFunctions

--

FolderType

Mandatory

HasComponent

Object

RoleSet

RoleSetType

Optional

HasComponent

Variable

<VendorCapability>

BaseDataType ServerVendorCapabilityType

OptionalPlaceholder

ServerProfileArray lists the Profiles that the Server supports. See OPC 10000-7 for the definitions of Server Profiles. This list should be limited to the Profiles the Server supports in its current configuration.

LocaleIdArray is an array of LocaleIds that are known to be supported by the Server. The Server might not be aware of all LocaleIds that it supports because it may provide access to underlying servers, systems or devices that do not report the LocaleIds that they support.

MinSupportedSampleRate defines the minimum supported sample rate, including 0, which is supported by the Server.

MaxBrowseContinuationPoints is an integer specifying the maximum number of parallel continuation points of the Browse Service that the Server can support per session. The value specifies the maximum the Server can support under normal circumstances, so there is no guarantee the Server can always support the maximum. The client should not open more Browse calls with open continuation points than exposed in this Variable. The value 0 indicates that the Server does not restrict the number of parallel continuation points the client should use.

MaxQueryContinuationPoints is an integer specifying the maximum number of parallel continuation points of the QueryFirst Services that the Server can support per session. The value specifies the maximum the Server can support under normal circumstances, so there is no guarantee the Server can always support the maximum. The client should not open more QueryFirst calls with open continuation points than exposed in this Variable. The value 0 indicates that the Server does not restrict the number of parallel continuation points the client should use.

MaxHistoryContinuationPoints is an integer specifying the maximum number of parallel continuation points of the HistoryRead Services that the Server can support per session. The value specifies the maximum the Server can support under normal circumstances, so there is no guarantee the Server can always support the maximum. The client should not open more HistoryRead calls with open continuation points than exposed in this Variable. The value 0 indicates that the Server does not restrict the number of parallel continuation points the client should use.

SoftwareCertificates is an array of SignedSoftwareCertificates containing all SoftwareCertificates supported by the Server. A SoftwareCertificate identifies capabilities of the Server. It contains the list of Profiles supported by the Server. Profiles are described in OPC 10000-7.

The MaxArrayLength Property indicates the maximum length of a one or multidimensional array supported by Variables of the Server. In a multidimensional array it indicates the overall length. For example, a three-dimensional array of 2x3x10 has the array length of 60. The Server might further restrict the length for individual Variables without notice to the client. Servers may use the Property MaxArrayLength defined in OPC 10000-3 on individual DataVariables to specify the size on individual values. The individual Property may have a larger or smaller value than MaxArrayLength.

The MaxStringLength Property indicates the maximum number of bytes in Strings supported by Variables of the Server. Servers may override this setting by adding the MaxStringLength Property defined in OPC 10000-3 to an individual DataVariable. If a Server does not impose a maximum number of bytes or is not able to determine the maximum number of bytes this Property shall not be provided.

The MaxByteStringLength Property indicates the maximum number of bytes in a ByteString supported by Variables of the Server. It also specifies the   default maximum size of a FileType Object’s read and write buffers. Servers may override this setting by adding the MaxByteStringLength Property defined in OPC 10000-3 to an individual DataVariable or FileType Object. If a Server does not impose a maximum number of bytes or is not able to determine the maximum number of bytes this Property shall not be provided.

OperationLimits is an entry point to access information on operation limits of the Server, for example the maximum length of an array in a read Service call.

ModellingRules is an entry point to browse to all ModellingRules supported by the Server. All ModellingRules supported by the Server should be able to be browsed starting from this Object.

AggregateFunctions is an entry point to browse to all AggregateFunctions supported by the Server. All AggregateFunctions supported by the Server should be able to be browsed starting from this Object. AggregateFunctions are Objects of AggregateFunctionType.

The RoleSet Object is used to publish all Roles supported by the Server. The RoleSetType is specified in F.2

When vendors expose their own capabilities they should add additional Nodes to the standard ServerCapabilities Object instance.

This ObjectType defines diagnostic information about the OPC UA Server. This ObjectType is formally defined in Table 11.

Table 11 – ServerDiagnosticsType Definition

Attribute

Value

BrowseName

ServerDiagnosticsType

IsAbstract

False

References

NodeClass

BrowseName

DataType / TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in 6.2

HasComponent

Variable

ServerDiagnosticsSummary

ServerDiagnosticsSummaryDataType

ServerDiagnosticsSummaryType

Mandatory

HasComponent

Variable

SamplingIntervalDiagnosticsArray

SamplingIntervalDiagnosticsDataType[]

SamplingIntervalDiagnosticsArrayType

Optional

HasComponent

Variable

SubscriptionDiagnosticsArray

SubscriptionDiagnosticsDataType[]

SubscriptionDiagnosticsArrayType

Mandatory

HasComponent

Object

SessionsDiagnosticsSummary

--

SessionsDiagnosticsSummaryType

Mandatory

HasProperty

Variable

EnabledFlag

Boolean

PropertyType

Mandatory

ServerDiagnosticsSummary contains diagnostic summary information for the Server, as defined in 12.9.

SamplingIntervalDiagnosticsArray is an array of diagnostic information per sampling rate as defined in 12.8. There is one entry for each sampling rate currently used by the Server. Its TypeDefinitionNode is the VariableType SamplingIntervalDiagnosticsArrayType, providing a Variable for each entry in the array, as defined in 7.9.

The sampling interval diagnostics are only collected by Servers which use a fixed set of sampling intervals. In these cases, length of the array and the set of contained Variables will be determined by the Server configuration and the NodeId assigned to a given sampling interval diagnostics variable shall not change as long as the Server configuration does not change. A Server may not expose the SamplingIntervalDiagnosticsArray if it does not use fixed sampling rates.

SubscriptionDiagnosticsArray is an array of Subscription diagnostic information per subscription, as defined in 12.15. There is one entry for each Notification channel actually established in the Server. Its TypeDefinitionNode is the VariableType SubscriptionDiagnosticsArrayType, providing a Variable for each entry in the array as defined in 7.11. Those Variables are also used as Variables referenced by other Variables.

SessionsDiagnosticsSummary contains diagnostic information per session, as defined in 6.3.4.

EnabledFlag identifies whether or not diagnostic information is collected by the Server. It can also be used by a client to enable or disable the collection of diagnostic information of the Server. The following settings of the Boolean value apply: TRUE indicates that the Server collects diagnostic information, and setting the value to TRUE leads to resetting and enabling the collection. FALSE indicates that no diagnostic information is collected, and setting the value to FALSE disables the collection without resetting the diagnostic values.

When diagnostics are turned off, the Server can return Bad_NodeIdUnknown for all static diagnostic Nodes except the EnabledFlag Property. Dynamic diagnostic Nodes (such as the Session Nodes) will not appear in the AddressSpace.

If collection of diagnostic information is not supported at all, the EnabledFlag Property will be read only.

This ObjectType defines diagnostic information about the sessions of the OPC UA Server. This ObjectType is formally defined in Table 12.

Table 12 – SessionsDiagnosticsSummaryType Definition

Attribute

Value

BrowseName

SessionsDiagnosticsSummaryType

IsAbstract

False

References

NodeClass

BrowseName

DataType / TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in 6.2

HasComponent

Variable

SessionDiagnosticsArray

SessionDiagnosticsDataType[]

SessionDiagnosticsArrayType

Mandatory

HasComponent

Variable

SessionSecurityDiagnosticsArray

SessionSecurityDiagnosticsDataType[]

SessionSecurityDiagnosticsArrayType

Mandatory

HasComponent

Object

<ClientName>

--

SessionDiagnosticsObjectType

OptionalPlaceholder

NOTE This row represents no Node in the AddressSpace. It is a placeholder pointing out that instances of the ObjectType will have those Objects.

SessionDiagnosticsArray provides an array with an entry for each session in the Server having general diagnostic information about a session.

SessionSecurityDiagnosticsArray provides an array with an entry for each active session in the Server having security-related diagnostic information about a session. Since this information is security-related, it should not be made accessible to all users, but only to authorised users.

For each session of the Server, this Object also provides an Object representing the session, indicated by <ClientName>. The BrowseName could be derived from the sessionName defined in the CreateSession Service (OPC 10000-4) or some other server-specific mechanisms. It is of the ObjectType SessionDiagnosticsObjectType, as defined in 6.3.5.

This ObjectType defines diagnostic information about a session of the OPC UA Server. This ObjectType is formally defined in Table 13.

Table 13 – SessionDiagnosticsObjectType Definition

Attribute

Value

BrowseName

SessionDiagnosticsObjectType

IsAbstract

False

References

NodeClass

BrowseName

DataType / TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in 6.2

HasComponent

Variable

SessionDiagnostics

SessionDiagnosticsDataType

SessionDiagnosticsVariableType

Mandatory

HasComponent

Variable

SessionSecurityDiagnostics

SessionSecurityDiagnosticsDataType

SessionSecurityDiagnosticsType

Mandatory

HasComponent

Variable

SubscriptionDiagnosticsArray

SubscriptionDiagnosticsDataType[]

SubscriptionDiagnosticsArrayType

Mandatory

SessionDiagnostics contains general diagnostic information about the session; the SessionSecurityDiagnostics Variable contains security-related diagnostic information. Because the information of the second Variable is security-related, it should not be made accessible to all users, but only to authorised users.

SubscriptionDiagnosticsArray is an array of Subscription diagnostic information per opened subscription, as defined in 12.15. Its TypeDefinitionNode is the VariableType SubscriptionDiagnosticsArrayType providing a Variable for each entry in the array, as defined in 7.11.

This ObjectType defines a placeholder Object for vendor-specific information about the OPC UA Server. This ObjectType defines an empty ObjectType that has no components. It shall be subtyped by vendors to define their vendor-specific information. This ObjectType is formally defined in Table 14.

Table 14 – VendorServerInfoType Definition

Attribute

Value

BrowseName

VendorServerInfoType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in 6.2

This ObjectType defines the redundancy capabilities supported by the OPC UA Server. It is formally defined in Table 15.

Table 15 – ServerRedundancyType Definition

Attribute

Value

BrowseName

ServerRedundancyType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in 6.2

HasProperty

Variable

RedundancySupport

RedundancySupport

PropertyType

Mandatory

HasSubtype

ObjectType

TransparentRedundancyType

Defined in 6.3.8

HasSubtype

ObjectType

NonTransparentRedundancyType

Defined in 6.3.9

RedundancySupport indicates what redundancy is supported by the Server. Its values are defined in 12.5. It shall be set to NONE_0 for all instances of the ServerRedundancyType using the ObjectType directly (no subtype).

This ObjectType is a subtype of ServerRedundancyType and is used to identify the capabilities of the OPC UA Server for server-controlled redundancy with a transparent switchover for the client. It is formally defined in Table 16.

Table 16 – TransparentRedundancyType Definition

Attribute

Value

BrowseName

TransparentRedundancyType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the ServerRedundancyType defined in 6.3.7, i.e. inheriting the InstanceDeclarations of that Node.

HasProperty

Variable

CurrentServerId

String

PropertyType

Mandatory

HasProperty

Variable

RedundantServerArray

RedundantServerDataType[]

PropertyType

Mandatory

RedundancySupport is inherited from the ServerRedundancyType. It shall be set to TRANSPARENT_4 for all instances of the TransparentRedundancyType.

Although, in a transparent switchover scenario, all redundant Servers serve under the same URI to the Client, it may be required to track the exact data source on the Client. Therefore, CurrentServerId contains an identifier of the currently-used Server in the Redundant Set. This Server is valid only inside a Session; if a Client opens several Sessions, different Servers of the redundant set of Servers may serve it in different Sessions. The value of the CurrentServerId may change due to Failover or load balancing, so a Client that needs to track its data source shall subscribe to this Variable.

As diagnostic information, the RedundantServerArray contains an array of available Servers in the Redundant Set; including their service levels (see 12.7). This array may change during a Session.

This ObjectType is a subtype of ServerRedundancyType and is used to identify the capabilities of the OPC UA Server for non-transparent redundancy. It is formally defined in Table 17.

Table 17 – NonTransparentRedundancyType Definition

Attribute

Value

BrowseName

NonTransparentRedundancyType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the ServerRedundancyType defined in 6.3.7, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

ServerUriArray

String[]

PropertyType

Mandatory

HasSubtype

ObjectType

NonTransparentNetworkRedundancyType

Defined in 6.3.10

ServerUriArray is an array with the URI of all redundant Servers of the OPC UA Server. See OPC 10000-4 for the definition of redundancy in this standard. In a non-transparent redundancy environment, the Client is responsible to subscribe to the redundant Servers. Therefore the Client might open a session to one or more redundant Servers of this array. The ServerUriArray shall contain the local Server.

RedundancySupport is inherited from the ServerRedundancyType. It shall be set to COLD_1, WARM_2, HOT_3 or HOT_AND_MIRRORED_5 for all instances of the NonTransparentRedundancyType. It defines the redundancy support provided by the Server. Its intended use is defined in OPC 10000-4.

This ObjectType is a subtype of NonTransparentRedundancyType and is used to identify the capabilities of the OPC UA Server for non-transparent network redundancy. It is formally defined in Table 18.

Table 18 – NonTransparentNetworkRedundancyType Definition

Attribute

Value

BrowseName

NonTransparentNetworkRedundancyType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the NonTransparentRedundancyType defined in 6.3.9, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

ServerNetworkGroups

NetworkGroupDataType[]

PropertyType

Mandatory

Clients switching between network paths to the same Server behave the same as HotAndMirrored redundancy. Server and network redundancy can be combined. In the combined approach it is important for the Client to know which ServerUris belong to the same Server representing different network paths and which ServerUris represent different Servers. Therefore, a Server implementing non-transparent network redundancy shall use the NonTransparentNetworkRedundancyType to identify its redundancy support.

RedundancySupport is inherited from the ServerRedundancyType. It shall be set to COLD_1, WARM_2, HOT_3 or HOT_AND_MIRRORED_5 for all instances of the NonTransparentNetworkRedundancyType. If no Server redundancy is supported (the ServerUriArray only contains one entry), the RedundancySupport shall be set to HOT_AND_MIRRORED_5.

The ServerNetworkGroups contains an array of NetworkGroupDataType. The URIs of the Servers in that array (in the serverUri of the structure) shall be exactly the same as the ones provided in the ServerUriArray. However, the order might be different. Thus the array represents a list of HotAndMirrored redundant Servers. If a Server only supports network redundancy, it has only one entry in the ServerNetworkGroups. The networkPaths in the structure represents the redundant network paths for each of the Servers. The networkPaths describes the different paths (one entry for each path) ordered by priority. Each network path contains an endpointUrlList having an array of Strings each containing a URL of an Endpoint. This allows using different protocol options for the same network path.

The Endpoints provided shall match with the Endpoints provided by the GetEndpoints Service of the corresponding Server.

This ObjectType is a subtype of FolderType and is used to identify the operation limits of the OPC UA Server. It is formally defined in Table 19.

Table 19 – OperationLimitsType Definition

Attribute

Value

BrowseName

OperationLimitsType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the FolderType defined in 6.6, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

MaxNodesPerRead

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerHistoryReadData

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerHistoryReadEvents

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerWrite

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerHistoryUpdateData

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerHistoryUpdateEvents

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerMethodCall

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerBrowse

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerRegisterNodes

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerTranslateBrowsePathsToNodeIds

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerNodeManagement

UInt32

PropertyType

Optional

HasProperty

Variable

MaxMonitoredItemsPerCall

UInt32

PropertyType

Optional

Any operational limits Property that is provided shall have a non zero value.

The MaxNodesPerRead Property indicates the maximum size of the nodesToRead array when a Client calls the Read Service.

The MaxNodesPerHistoryReadData Property indicates the maximum size of the nodesToRead array when a Client calls the HistoryRead Service using the historyReadDetails RAW, PROCESSED, MODIFIED or ATTIME.

The MaxNodesPerHistoryReadEvents Property indicates the maximum size of the nodesToRead array when a Client calls the HistoryRead Service using the historyReadDetails EVENTS.

The MaxNodesPerWrite Property indicates the maximum size of the nodesToWrite array when a Client calls the Write Service.

The MaxNodesPerHistoryUpdateData Property indicates the maximum size of the historyUpdateDetails array supported by the Server when a Client calls the HistoryUpdate Service.

The MaxNodesPerHistoryUpdateEvents Property indicates the maximum size of the historyUpdateDetails array when a Client calls the HistoryUpdate Service.

The MaxNodesPerMethodCall Property indicates the maximum size of the methodsToCall array when a Client calls the Call Service.

The MaxNodesPerBrowse Property indicates the maximum size of the nodesToBrowse array when calling the Browse Service or the continuationPoints array when a Client calls the BrowseNext Service.

The MaxNodesPerRegisterNodes Property indicates the maximum size of the nodesToRegister array when a Client calls the RegisterNodes Service and the maximum size of the nodesToUnregister when calling the UnregisterNodes Service.

The MaxNodesPerTranslateBrowsePathsToNodeIds Property indicates the maximum size of the browsePaths array when a Client calls the TranslateBrowsePathsToNodeIds Service.

The MaxNodesPerNodeManagement Property indicates the maximum size of the nodesToAdd array when a Client calls the AddNodes Service, the maximum size of the referencesToAdd array when a Client calls the AddReferences Service, the maximum size of the nodesToDelete array when a Client calls the DeleteNodes Service, and the maximum size of the referencesToDelete array when a Client calls the DeleteReferences Service.

The MaxMonitoredItemsPerCall Property indicates

  • the maximum size of the itemsToCreate array when a Client calls the CreateMonitoredItems Service,
  • the maximum size of the itemsToModify array when a Client calls the ModifyMonitoredItems Service,
  • the maximum size of the monitoredItemIds array when a Client calls the SetMonitoringMode Service or the DeleteMonitoredItems Service,
  • the maximum size of the sum of the linksToAdd and linksToRemove arrays when a Client calls the SetTriggering Service.

This ObjectType defines the file for a namespace provided by the OPC UA Server. It is formally defined in Table 20. It represents an XML address space file using the XML schema defined in OPC 10000-6.

Table 20 – AddressSpaceFileType Definition

Attribute

Value

BrowseName

AddressSpaceFileType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the FileType defined in C.2

HasComponent

Method

ExportNamespace

The method has no parameters.

Optional

The ExportNamespace Method provides a way to export the namespace from the Server AddressSpace to the XML file represented by the AddressSpaceFileType. Value Attributes are only exported if they represent static configuration information. The client is expected to call the ExportNamespace Method first to update the XML file and then access the file with the Methods defined in the FileType.

Servers might provide some vendor-specific mechanisms importing parts of an address space as subtype of this ObjectType, for example by defining appropriate Methods.

This ObjectType defines the metadata for a namespace provided by the Server. It is formally defined in Table 21.

Instances of this Object allow Servers to provide more information like version information in addition to the namespace URI. Important information for aggregating Servers is provided by the StaticNodeIdTypes, StaticNumericNodeIdRange and StaticStringNodeIdPattern Properties.

Table 21 – NamespaceMetadataType Definition

Attribute

Value

BrowseName

NamespaceMetadataType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in 6.2

HasProperty

Variable

NamespaceUri

String

PropertyType

Mandatory

HasProperty

Variable

NamespaceVersion

String

PropertyType

Mandatory

HasProperty

Variable

NamespacePublicationDate

DateTime

PropertyType

Mandatory

HasProperty

Variable

IsNamespaceSubset

Boolean

PropertyType

Mandatory

HasProperty

Variable

StaticNodeIdTypes

IdType[]

PropertyType

Mandatory

HasProperty

Variable

StaticNumericNodeIdRange

NumericRange[]

PropertyType

Mandatory

HasProperty

Variable

StaticStringNodeIdPattern

String

PropertyType

Mandatory

HasComponent

Object

NamespaceFile

-

AddressSpaceFileType

Optional

HasProperty

Variable

DefaultRolePermissions

RolePermissionType[]

PropertyType

Optional

HasProperty

Variable

DefaultUserRolePermissions

RolePermissionType[]

PropertyType

Optional

HasProperty

Variable

DefaultAccessRestrictions

AccessRestrictionType

PropertyType

Optional

The BrowseName of instances of this type shall be derived from the represented namespace. This can, for example, be done by using the index of the namespace in the NamespaceArray as namespaceIndex of the QualifiedName and the namespace URI as name of the QualifiedName.

The NamespaceUri Property contains the namespace represented by an instance of the MetaDataType.

The NamespaceVersion Property provides version information for the namespace. It is intended for display purposes and shall not be used to programmatically identify the latest version. If there is no formal version defined for the namespace this Property shall be set to a null String.

The NamespacePublicationDate Property provides the publication date of the namespace version. This Property value can be used by Clients to determine the latest version if different versions are provided by different Servers. If there is no formal publication date defined for the namespace this Property shall be set to a null DateTime.

The IsNamespaceSubset Property defines whether all Nodes of the namespace are accessible in the Server or only a subset. It is set to FALSE if the full namespace is provided and TRUE if not. If the completeness is unknown then this Property shall be set to TRUE.

Static Nodes are identical for all Attributes in all Servers, including the Value Attribute. For TypeDefinitionNodes, also the InstanceDeclarations shall be identical. That means that for static Nodes the semantic is always the same. Namespaces with static Nodes are for example namespaces defined by standard bodies like the OPC Foundation. This is important information for aggregating Servers. If the namespace is dynamic and used in several Servers the aggregating Server needs to distinguish the namespace for each aggregated Server. The static Nodes of a namespace only need to be handled once, even if they are used by several aggregated Servers.

The StaticNodeIdTypes Property provides a list of IdTypes used for static Nodes. All Nodes in the AddressSpace of the namespace using one of the IdTypes in the array shall be static Nodes.

The StaticNumericNodeIdRange Property provides a list of NumericRanges used for numeric NodeIds of static Nodes. If the StaticNodeIdTypes Property contains an entry for numeric NodeIds then this Property is ignored.

The StaticStringNodeIdPattern Property provides a regular expression as defined for the Like Operator defined in OPC 10000-4 to filter for string NodeIds of static Nodes. If the StaticNodeIdTypes Property contains an entry for string NodeIds then this Property is ignored.

The Object NamespaceFile contains all Nodes and References of the namespace in an XML file where the Information Model XML Schema is defined in OPC 10000-6. The XML file is provided through an AddressSpaceFileType Object.

The DefaultRolePermissions Property provides the default permissions if a Server supports RolePermissions for the Namespace. A Node in the Namespace overrides this default by adding a RolePermissions Attribute to the Node. If a Server implements a vendor-specific RolePermissions model for a Namespace, it does not add the DefaultRolePermissions Property to the NamespaceMetadata Object.

The DefaultUserRolePermissions Property provides the default user permissions if a Server supports UserRolePermissions for the Namespace. A Node in the Namespace overrides this default by adding a UserRolePermissions Attribute to the Node. If a Server implements a vendor-specific UserRolePermissions model for a Namespace, it does not add the DefaultUserRolePermissions Property to the NamespaceMetadata Object.

The DefaultAccessRestrictions Property is present if a Server supports AccessRestrictions for the Namespace and provides the defaults. A Node in the Namespace overrides this default by adding a AccessRestrictions Attribute to the Node. If a Server implements a vendor-specific AccessRestriction model for a Namespace, it does not add the DefaultAccessRestrictions Property to the NamespaceMetadata Object.

This ObjectType defines a list of NamespaceMetadataType Objects provided by the Server. It is formally defined in Table 22.

Table 22 – NamespacesType Definition

Attribute

Value

BrowseName

NamespacesType

IsAbstract

False

References

NodeClass

BrowseName

Data Type

TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in 6.2

HasComponent

Object

<NamespaceIdentifier>

-

NamespaceMetadataType

OptionalPlaceholder

The ObjectType contains a list of NamespaceMetadataType Objects representing the namespaces in the Server. The BrowseName of an Object shall be derived from the namespace represented by the Object. This can, for example, be done by using the index of the namespace in the NamespaceArray as namespaceIndex of the QualifiedName and the namespace URI as name of the QualifiedName. Clients should not assume that all namespaces provided by a Server are present in this list as a namespace may not provide the information necessary to fill all mandatory Properties of the NamespaceMetadataType.

This International Standard defines standard EventTypes. They are represented in the AddressSpace as ObjectTypes. The EventTypes are already defined in OPC 10000-3. The following subclauses specify their representation in the AddressSpace.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 23.

Table 23 – BaseEventType Definition

Attribute

Value

BrowseName

BaseEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in 6.2

HasSubtype

ObjectType

AuditEventType

Defined in 6.4.3

HasSubtype

ObjectType

SystemEventType

Defined in 6.4.28

HasSubtype

ObjectType

BaseModelChangeEventType

Defined in 6.4.31

HasSubtype

ObjectType

SemanticChangeEventType

Defined in 6.4.33

HasSubtype

ObjectType

EventQueueOverflowEventType

Defined in 6.4.34

HasSubtype

ObjectType

ProgressEventType

Defined in 6.4.35

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

EventId is 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.

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.

The SourceNode Property 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 the SourceNode Property.

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.

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.

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 OPC 10000-4, 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.

LocalTime is a structure containing 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.

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.

Severity is 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 Event which is informational in nature, while a value of 1 000 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 1 000 distinct severity levels. Therefore, Server developers 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 – 1 000

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 1 000 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 1 000, 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.

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 – 1 000)

15

1 000

14

955

13

910

12

865

11

820

10

775

9

730

8

685

MEDIUM (334 – 666)

7

650

6

575

5

500

4

425

3

350

LOW (1 – 333)

2

300

1

150

0

1

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 1 000 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 1 000 range (for example, 334 to 1 000).

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 OPC 10000-9.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 24.

Table 24 – AuditEventType Definition

Attribute

Value

BrowseName

AuditEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseEventType defined in 6.4.2, which means it inherits the InstanceDeclarations of that Node.

HasSubtype

ObjectType

AuditSecurityEventType

Defined in 6.4.4

HasSubtype

ObjectType

AuditNodeManagementEventType

Defined in 6.4.19

HasSubtype

ObjectType

AuditUpdateEventType

Defined in 6.4.24

HasSubtype

ObjectType

AuditUpdateMethodEventType

Defined in 6.4.27

HasProperty

Variable

ActionTimeStamp

UtcTime

PropertyType

Mandatory

HasProperty

Variable

Status

Boolean

PropertyType

Mandatory

HasProperty

Variable

ServerId

String

PropertyType

Mandatory

HasProperty

Variable

ClientAuditEntryId

String

PropertyType

Mandatory

HasProperty

Variable

ClientUserId

String

PropertyType

Mandatory

This EventType inherits all Properties of the BaseEventType. Their semantic is defined in 6.4.2.

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.

Status identifies whether the requested action could be performed (set Status to TRUE) or not (set Status to FALSE).

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.

ClientAuditEntryId contains the human-readable AuditEntryId defined in OPC 10000-3.

The 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 shall 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.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 25.

Table 25 – AuditSecurityEventType Definition

Attribute

Value

BrowseName

AuditSecurityEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditEventType defined in 6.4.3, which means it inherits the InstanceDeclarations of that Node.

HasSubtype

ObjectType

AuditChannelEventType

Defined in 6.4.5

HasSubtype

ObjectType

AuditSessionEventType

Defined in 6.4.7

HasSubtype

ObjectType

AuditCertificateEventType

Defined in 6.4.12

HasProperty

Variable

StatusCodeId

StatusCode

PropertyType

Optional

This EventType inherits all Properties of the AuditEventType. Their semantic is defined in 6.4.3. There are no additional Properties defined for this EventType.

The optional StatusCodeId Property provides the exact security error responsible for producing the Event.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 26.

Table 26 – AuditChannelEventType Definition

Attribute

Value

BrowseName

AuditChannelEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditSecurityEventType defined in 6.4.4, which means it inherits the InstanceDeclarations of that Node.

HasSubtype

ObjectType

AuditOpenSecureChannelEventType

Defined in 6.4.6

HasProperty

Variable

SecureChannelId

String

PropertyType

Mandatory

This EventType inherits all Properties of the AuditSecurityEventType. Their semantic is defined in 6.4.4. The SourceNode Property for Events of this type shall be assigned to the Server Object. The SourceName for Events of this type shall be “SecureChannel/” and 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”.

The SecureChannelId shall uniquely identify 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).

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 27.

Table 27 – AuditOpenSecureChannelEventType Definition

Attribute

Value

BrowseName

AuditOpenSecureChannelEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditChannelEventType defined in 6.4.5, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

ClientCertificate

ByteString

PropertyType

Mandatory

HasProperty

Variable

ClientCertificateThumbprint

String

PropertyType

Mandatory

HasProperty

Variable

RequestType

SecurityTokenRequestType

PropertyType

Mandatory

HasProperty

Variable

SecurityPolicyUri

String

PropertyType

Mandatory

HasProperty

Variable

SecurityMode

MessageSecurityMode

PropertyType

Mandatory

HasProperty

Variable

RequestedLifetime

Duration

PropertyType

Mandatory

This EventType inherits all Properties of the AuditChannelEventType. Their semantic is defined in 6.4.5. The SourceName for Events of this type shall 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.

ClientCertificate is the clientCertificate parameter of the OpenSecureChannel Service call.

ClientCertificateThumbprint is a thumbprint of the ClientCertificate. See OPC 10000-6 for details on thumbprints.

RequestType is the requestType parameter of the OpenSecureChannel Service call.

SecurityPolicyUri is the securityPolicyUri parameter of the OpenSecureChannel Service call.

SecurityMode is the securityMode parameter of the OpenSecureChannel Service call.

RequestedLifetime is the requestedLifetime parameter of the OpenSecureChannel Service call.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 28.

Table 28 – AuditSessionEventType Definition

Attribute

Value

BrowseName

AuditSessionEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditSecurityEventType defined in 6.4.4, which means it inherits the InstanceDeclarations of that Node.

HasSubtype

ObjectType

AuditCreateSessionEventType

Defined in 6.4.8

HasSubtype

ObjectType

AuditActivateSessionEventType

Defined in 6.4.10

HasSubtype

ObjectType

AuditCancelEventType

Defined in 6.4.11

HasProperty

Variable

SessionId

NodeId

PropertyType

Mandatory

This EventType inherits all Properties of the AuditSecurityEventType. Their semantic is defined in 6.4.4.

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

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

The SessionId shall contain 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 shall be null.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 29.

Table 29 – AuditCreateSessionEventType Definition

Attribute

Value

BrowseName

AuditCreateSessionEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditSessionEventType defined in 6.4.7, which means it inherits the InstanceDeclarations of that Node.

HasSubtype

ObjectType

AuditUrlMismatchEventType

Defined in 6.4.9

HasProperty

Variable

SecureChannelId

String

PropertyType

Mandatory

HasProperty

Variable

ClientCertificate

ByteString

PropertyType

Mandatory

HasProperty

Variable

ClientCertificateThumbprint

String

PropertyType

Mandatory

HasProperty

Variable

RevisedSessionTimeout

Duration

PropertyType

Mandatory

This EventType inherits all Properties of the AuditSessionEventType. Their semantic is defined in 6.4.7. The SourceName for Events of this type shall 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.

SecureChannelId shall uniquely identify 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).

ClientCertificate is the clientCertificate parameter of the CreateSession Service call.

ClientCertificateThumbprint is a thumbprint of the ClientCertificate. See OPC 10000-6 for details on thumbprints.

RevisedSessionTimeout is the returned revisedSessionTimeout parameter of the CreateSession Service call.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 30.

Table 30 – AuditUrlMismatchEventType Definition

Attribute

Value

BrowseName

AuditUrlMismatchEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditCreateSessionEventType defined in 6.4.8 which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

EndpointUrl

String

PropertyType

Mandatory

This EventType inherits all Properties of the AuditSessionEventType. Their semantic is defined in 6.4.8.

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

EndpointUrl is the endpointUrl parameter of the CreateSession Service call.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 31.

Table 31 – AuditActivateSessionEventType Definition

Attribute

Value

BrowseName

AuditActivateSessionEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditSessionEventType defined in 6.4.7, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

ClientSoftwareCertificates

SignedSoftwareCertificate[]

PropertyType

Mandatory

HasProperty

Variable

UserIdentityToken

UserIdentityToken

PropertyType

Mandatory

HasProperty

Variable

SecureChannelId

String

PropertyType

Mandatory

This EventType inherits all Properties of the AuditSessionEventType. Their semantic is defined in 6.4.7. The SourceName for Events of this type shall be “Session/ActivateSession”.

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

ClientSoftwareCertificates is the clientSoftwareCertificates parameter of the ActivateSession Service call.

UserIdentityToken reflects the userIdentityToken parameter of the ActivateSession Service call. For Username/Password tokens the password shall not be included.

SecureChannelId shall uniquely identify 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).

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 32.

Table 32 – AuditCancelEventType Definition

Attribute

Value

BrowseName

AuditCancelEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditSessionEventType defined in 6.4.7, i.e. inheriting the InstanceDeclarations of that Node.

HasProperty

Variable

RequestHandle

UInt32

PropertyType

Mandatory

This EventType inherits all Properties of the AuditSessionEventType. Their semantic is defined in 6.4.7. The SourceName for Events of this type shall be “Session/Cancel”.

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

RequestHandle is the requestHandle parameter of the Cancel Service call.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 33.

Table 33 – AuditCertificateEventType Definition

Attribute

Value

BrowseName

AuditCertificateEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditSecurityEventType defined in 6.4.7, which means it inherits the InstanceDeclarations of that Node.

HasSubtype

ObjectType

AuditCertificateDataMismatchEventType

Defined in 6.4.13

HasSubtype

ObjectType

AuditCertificateExpiredEventType

Defined in 6.4.14

HasSubtype

ObjectType

AuditCertificateInvalidEventType

Defined in 6.4.15

HasSubtype

ObjectType

AuditCertificateUntrustedEventType

Defined in 6.4.16

HasSubtype

ObjectType

AuditCertificateRevokedEventType

Defined in 6.4.17

HasSubtype

ObjectType

AuditCertificateMismatchEventType

Defined in 6.4.18

HasProperty

Variable

Certificate

ByteString

PropertyType

Mandatory

This EventType inherits all Properties of the AuditSecurityEventType. Their semantic is defined in 6.4.4. The SourceName for Events of this type shall be “Security/Certificate”.

Certificate is 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 included the Certificate.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 34.

Table 34 – AuditCertificateDataMismatchEventType Definition

Attribute

Value

BrowseName

AuditCertificateDataMismatchEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditCertificateEventType defined in 6.4.12, i.e. inheriting the InstanceDeclarations of that Node.

HasProperty

Variable

InvalidHostname

String

PropertyType

Mandatory

HasProperty

Variable

InvalidUri

String

PropertyType

Mandatory

This EventType inherits all Properties of the AuditCertificateEventType. Their semantic is defined in 6.4.12. The SourceName for Events of this type shall be “Security/Certificate”.

InvalidHostname is 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.

InvalidUri is 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.

Either the InvalidHostname or InvalidUri shall be provided.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 35.

Table 35 – AuditCertificateExpiredEventType Definition

Attribute

Value

BrowseName

AuditCertificateExpiredEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditCertificateEventType defined in 6.4.12, which means it inherits the InstanceDeclarations of that Node.

This EventType inherits all Properties of the AuditCertificateEventType. Their semantic is defined in 6.4.12. The SourceName for Events of this type shall 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.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 36.

Table 36 – AuditCertificateInvalidEventType Definition

Attribute

Value

BrowseName

AuditCertificateInvalidEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditCertificateEventType defined in 6.4.12, which means it inherits the InstanceDeclarations of that Node.

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

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 37.

Table 37 – AuditCertificateUntrustedEventType Definition

Attribute

Value

BrowseName

AuditCertificateUntrustedEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditCertificateEventType defined in 6.4.12, which means it inherits the InstanceDeclarations of that Node.

This EventType inherits all Properties of the AuditCertificateEventType. Their semantic is defined in 6.4.12. The SourceName for Events of this type shall 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.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 38.

Table 38 – AuditCertificateRevokedEventType Definition

Attribute

Value

BrowseName

AuditCertificateRevokedEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditCertificateEventType defined in 6.4.12, which means it inherits the InstanceDeclarations of that Node.

This EventType inherits all Properties of the AuditCertificateEventType. Their semantic is defined in 6.4.12. The SourceName for Events of this type shall 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.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 39.

Table 39 – AuditCertificateMismatchEventType Definition

Attribute

Value

BrowseName

AuditCertificateMismatchEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditCertificateEventType defined in 6.4.12, which means it inherits the InstanceDeclarations of that Node.

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

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 40.

Table 40 – AuditNodeManagementEventType Definition

Attribute

Value

BrowseName

AuditNodeManagementEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditEventType defined in 6.4.3, which means it inherits the InstanceDeclarations of that Node.

HasSubtype

ObjectType

AuditAddNodesEventType

HasSubtype

ObjectType

AuditDeleteNodesEventType

HasSubtype

ObjectType

AuditAddReferencesEventType

HasSubtype

ObjectType

AuditDeleteReferencesEventType

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

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 41.

Table 41 – AuditAddNodesEventType Definition

Attribute

Value

BrowseName

AuditAddNodesEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditNodeManagementEventType defined in 6.4.19, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

NodesToAdd

AddNodesItem[]

PropertyType

Mandatory

This EventType inherits all Properties of the AuditNodeManagementEventType. Their semantic is defined in 6.4.19. The SourceName for Events of this type shall be “NodeManagement/AddNodes”.

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

NodesToAdd is the NodesToAdd parameter of the AddNodes Service call.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 42.

Table 42 – AuditDeleteNodesEventType Definition

Attribute

Value

BrowseName

AuditDeleteNodesEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditNodeManagementEventType defined in 6.4.19, i.e. inheriting the InstanceDeclarations of that Node.

HasProperty

Variable

NodesToDelete

DeleteNodesItem[]

PropertyType

Mandatory

This EventType inherits all Properties of the AuditNodeManagementEventType. Their semantic is defined in 6.4.19. The SourceName for Events of this type shall be “NodeManagement/DeleteNodes”.

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

NodesToDelete is the nodesToDelete parameter of the DeleteNodes Service call.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 43.

Table 43 – AuditAddReferencesEventType Definition

Attribute

Value

BrowseName

AuditAddReferencesEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditNodeManagementEventType defined in 6.4.19, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

ReferencesToAdd

AddReferencesItem[]

PropertyType

Mandatory

This EventType inherits all Properties of the AuditNodeManagementEventType. Their semantic is defined in 6.4.19. The SourceName for Events of this type shall be “NodeManagement/AddReferences”.

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

ReferencesToAdd is the referencesToAdd parameter of the AddReferences Service call.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 44.

Table 44 – AuditDeleteReferencesEventType Definition

Attribute

Value

BrowseName

AuditDeleteReferencesEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditNodeManagementEventType defined in 6.4.19, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

ReferencesToDelete

DeleteReferencesItem[]

PropertyType

Mandatory

This EventType inherits all Properties of the AuditNodeManagementEventType. Their semantic is defined in 6.4.19. The SourceName for Events of this type shall be “NodeManagement/DeleteReferences”.

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

ReferencesToDelete is the referencesToDelete parameter of the DeleteReferences Service call.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 45.

Table 45 – AuditUpdateEventType Definition

Attribute

Value

BrowseName

AuditUpdateEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditEventType defined in 6.4.3, which means it inherits the InstanceDeclarations of that Node.

HasSubtype

ObjectType

AuditWriteUpdateEventType

Defined in 6.4.25

HasSubtype

ObjectType

AuditHistoryUpdateEventType

Defined in 6.4.26

This EventType inherits all Properties of the AuditEventType. Their semantic is defined in 6.4.3. The SourceNode Property for Events of this type shall be assigned to the NodeId that was changed. The SourceName for Events of this type shall 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.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 46.

Table 46 – AuditWriteUpdateEventType Definition

Attribute

Value

BrowseName

AuditWriteUpdateEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditUpdateEventType defined in 6.4.24, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

AttributeId

UInt32

PropertyType

Mandatory

HasProperty

Variable

IndexRange

NumericRange

PropertyType

Mandatory

HasProperty

Variable

NewValue

BaseDataType

PropertyType

Mandatory

HasProperty

Variable

OldValue

BaseDataType

PropertyType

Mandatory

This EventType inherits all Properties of the AuditUpdateEventType. The SourceName for Events of this type shall be “Attribute/Write”. Their semantic is defined in 6.4.24.

AttributeId identifies the Attribute that was written. The SourceNode Property identifies the Node that was written.

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.

NewValue identifies the value that was written. If the IndexRange is provided, only the values in the provided range are shown.

OldValue identifies the value that the Attribute 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.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 47.

Table 47 – AuditHistoryUpdateEventType Definition

Attribute

Value

BrowseName

AuditHistoryUpdateEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditUpdateEventType defined in 6.4.24, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

ParameterDataTypeId

NodeId

PropertyType

Mandatory

This EventType inherits all Properties of the AuditUpdateEventType. Their semantic is defined in 6.4.24.

The ParameterDataTypeId identifies the DataTypeId for the extensible parameter used by the HistoryUpdate. This parameter indicates the type of HistoryUpdate being performed.

Subtypes of this EventType are defined in OPC 10000-11 representing the different possibilities to manipulate historical data.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 48.

Table 48 – AuditUpdateMethodEventType Definition

Attribute

Value

BrowseName

AuditUpdateMethodEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditEventType defined in 6.4.3, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

MethodId

NodeId

PropertyType

Mandatory

HasProperty

Variable

InputArguments

BaseDataType[]

PropertyType

Mandatory

This EventType inherits all Properties of the AuditEventType. Their semantic is defined in 6.4.3. The SourceNode Property for Events of this type shall be assigned to the NodeId of the Object that the Method resides on. The SourceName for Events of this type shall 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.

MethodId identifies the method that was called.

InputArguments identifies the input Arguments for the method. This parameter can be null if no input arguments where provided.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 49.

Table 49 – SystemEventType Definition

Attribute

Value

BrowseName

SystemEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasSubtype

ObjectType

DeviceFailureEventType

Defined in 6.4.29

HasSubtype

ObjectType

SystemStatusChangeEventType

Defined in 6.4.30

Subtype of the BaseEventType defined in 6.4.2, which means it inherits the InstanceDeclarations of that Node.

This EventType inherits all Properties of the BaseEventType. Their semantic is defined in 6.4.2. There are no additional Properties defined for this EventType.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 50.

Table 50 – DeviceFailureEventType Definition

Attribute

Value

BrowseName

DeviceFailureEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the SystemEventType defined in 6.4.28, which means it inherits the InstanceDeclarations of that Node.

This EventType inherits all Properties of the SystemEventType. Their semantic is defined in 6.4.28. There are no additional Properties defined for this EventType.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 51.

Table 51 – SystemStatusChangeEventType Definition

Attribute

Value

BrowseName

SystemStatusChangeEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the SystemEventType defined in 6.4.28, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

SystemState

ServerState

PropertyType

Mandatory

This EventType inherits all Properties of the SystemEventType. Their semantic is defined in 6.4.28. The SourceNode Property and the SourceName shall identify the system. The system can be the Server itself or some underlying system.

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

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 52.

Table 52 – BaseModelChangeEventType Definition

Attribute

Value

BrowseName

BaseModelChangeEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseEventType defined in 6.4.2, which means it inherits the InstanceDeclarations of that Node.

HasSubtype

ObjectType

GeneralModelChangeEventType

Defined in 6.4.32

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

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 53.

Table 53 – GeneralModelChangeEventType Definition

Attribute

Value

BrowseName

GeneralModelChangeEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseModelChangeEventType defined in 6.4.31, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

Changes

ModelChangeStructureDataType[]

PropertyType

Mandatory

This EventType inherits all Properties of the BaseModelChangeEventType. Their semantic is defined in 6.4.31.

The additional Property defined for this EventType reflects the changes that issued the ModelChangeEvent. It shall contain at least one entry in its array. Its structure is defined in 12.16.

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 54.

Table 54 – SemanticChangeEventType Definition

Attribute

Value

BrowseName

SemanticChangeEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseEventType defined in 6.4.2, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

Changes

SemanticChangeStructureDataType[]

PropertyType

Mandatory

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

The additional Property defined for this EventType reflects the changes that issued the SemanticChangeEvent. Its structure is defined in 12.17.

EventQueueOverflow Events are generated when an internal queue of a MonitoredItem subscribing for Events in the Server overflows. OPC 10000-4 defines when the internal EventQueueOverflow Events shall be generated.

The EventType for EventQueueOverflow Events is formally defined in Table 55.

Table 55 – EventQueueOverflowEventType Definition

Attribute

Value

BrowseName

EventQueueOverflowEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseEventType defined in 6.4.2, which means it inherits the InstanceDeclarations of that Node.

This EventType inherits all Properties of the BaseEventType. Their semantic is defined in 6.4.2. The SourceNode Property 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”.

ProgressEvents are generated to identify the progress of an operation. An operation can be a Service call or something application specific like a program execution.

The EventType for Progress Events is formally defined in Table 56.

Table 56 – ProgressEventType Definition

Attribute

Value

BrowseName

ProgressEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseEventType defined in 6.4.2, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

Context

BaseDataType

PropertyType

Mandatory

HasProperty

Variable

Progress

UInt16

PropertyType

Mandatory

This EventType inherits all Properties of the BaseEventType. Their semantic is defined in 6.4.2. The SourceNode Property 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 OPC 10000-4>” when the progress of a Service call is exposed.

The additional Property 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.

The additional Property 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.

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

ModellingRules are defined in OPC 10000-3. This ObjectType is used as the type for the ModellingRules. It is formally defined in Table 57.

Table 57 – ModellingRuleType Definition

Attribute

Value

BrowseName

ModellingRuleType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in 6.2

HasProperty

Variable

NamingRule

NamingRuleType

PropertyType

Mandatory

The Property NamingRule identifies the NamingRule of a ModellingRule as defined in OPC 10000-3.

Instances of this ObjectType are used to organise the AddressSpace into a hierarchy of Nodes. They represent the root Node of a subtree, and have no other semantics associated with them. However, the DisplayName of an instance of the FolderType, such as “ObjectTypes”, should imply the semantics associated with the use of it. There are no References specified for this ObjectType. It is formally defined in Table 58.

Table 58 – FolderType Definition

Attribute

Value

BrowseName

FolderType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in 6.2.

DataTypeEncodings are defined in OPC 10000-3. This ObjectType is used as type for the DataTypeEncodings. There are no References specified for this ObjectType. It is formally defined in Table 59.

Table 59 – DataTypeEncodingType Definition

Attribute

Value

BrowseName

DataTypeEncodingType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in 6.2.

This ObjectType defines an AggregateFunction supported by a UA Server. It is formally defined in Table 60.

Table 60 – AggregateFunctionType Definition

Attribute

Value

BrowseName

AggregateFunctionType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in 6.2.

For the AggregateFunctionType, the Description Attribute is mandatory. The Description Attribute provides a localized description of the AggregateFunction. Specific AggregateFunctions may be defined in further parts of this series of standards.