This ObjectTypedefines 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 Objectsand Variablesof these Objectsand Variablesare defined by their BrowseNamedefined in the corresponding TypeDefinitionNode. The NodeIdis defined by the composed symbolic name described in 4.1.

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

The URI of the ServerArraywith Index 0 shall be identical to the URI of the NamespaceArraywith Index 1, since both represent the local Server.

The indexes into the server tableare referred to as server indexesor server names. They are used in OPC UA Servicesto identify TargetNodesof Referencesthat reside in remote Servers. Clients may read the entire table or they may read individual entries in the table. The Servershall 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 Servermay add entries to the server tableeven if clients are connected to the Server.

NamespaceArray defines an array of namespace URIs. This Variableis also referred as namespace table. The indexes into the namespace tableare referred to as NamespaceIndexes. NamespaceIndexesare used in NodeIdsin 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 tableor they may read individual entries in the namespace table. The Servershall not modify or delete entries of the namespace tablewhile any client has an open session to the Server, because clients may cache the namespace table. A Servermay add entries to the namespace tableeven if clients are connected to the Server. It is recommended that Serversnot change the indexes of the namespace tablebut only add entries, because the client may cache NodeIdsusing the indexes. Nevertheless, it might not always be possible for Serversto avoid changing indexes in the namespace table. Clients that cache NamespaceIndexesof NodeIdsshould always check when starting a session to verify that the cached NamespaceIndexeshave not changed.

UrisVersiondefines the version of the ServerArrayand the NamespaceArray. Everytime the ServerArrayor the NamespaceArrayis changed, the value of the UrisVersionshall be updated to a value greater than the previous value. The UrisVersion Propertyis used in combination with the SessionlessInvoke Servicedefined in OPC 10000-4. If a Serversupports this Service, the Servershall support this Property. It is the responsibility of the Serverto provide a consistent set of values for the ServerArray, NamespaceArrayand the UrisVersion Properties. The VersionTime DataTypeis defined in OPC 10000-4.

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

ServiceLevel describes the ability of the Serverto 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-4defines required sub-ranges for different scenarios. The intent is to provide the clients an indication of availability among redundant Servers.

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

EstimatedReturnTimeindicates the time at which the Server is expected to have a ServerStatus.Stateof RUNNING_0. A Client that observes a shutdown or a ServiceLevelof 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.

LocalTimeis a structure containing the Offset and the DaylightSavingInOffset flag. The Offset specifies the time difference (in minutes) between the Servertime in UTCand the local time at the Serverlocation. If DaylightSavingInOffset is TRUE, then Standard/Daylight savings time (DST) at the Serverlocation 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.2for its description.

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

VendorServerInfo represents the browse entry point for vendor-defined Serverinformation. This Objectis required to be present even if there are no vendor-defined Objectsbeneath it. See 6.3.6for its description.

ServerRedundancy describes the redundancy capabilities provided by the Server. This Objectis required even if the Serverdoes not provide any redundancy support. If the Serversupports redundancy, then a subtype of ServerRedundancyTypeis used to describe its capabilities. Otherwise, it provides an Objectof type ServerRedundancyTypewith the PropertyRedundancySupport set to none. See 6.3.7for the description of ServerRedundancyType.

Namespacesprovides a list of NamespaceMetadataType Objectswith additional information about the namespaces used in the Server. See 6.3.14for the description of NamespaceMetadataType.

The GetMonitoredItems Methodis used to identify the MonitoredItemsof 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 Methodis used to set a Subscriptioninto a mode where MonitoredItemdata and event queues are stored and delivered even if an OPC UA Clientwas disconnected for a longer time or the OPC UA Serverwas restarted. It is defined in 9.3; the intended usage is defined in OPC 10000-4.

The RequestServerStateChange Methodallows a Clientto request a state change in the Server. It is defined in 9.4; the intended usage is defined in OPC 10000-4.