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

HasProperty

Variable

MaxSessions

UInt32

PropertyType

Optional

HasProperty

Variable

MaxSubscriptions

UInt32

PropertyType

Optional

HasProperty

Variable

MaxMonitoredItems

UInt32

PropertyType

Optional

HasProperty

Variable

MaxSubscriptionsPerSession

UInt32

PropertyType

Optional

HasProperty

Variable

MaxMonitoredItemsPerSubscription

UInt32

PropertyType

Optional

HasProperty

Variable

MaxSelectClauseParameters

UInt32

PropertyType

Optional

HasProperty

Variable

MaxWhereClauseParameters

UInt32

PropertyType

Optional

HasProperty

Variable

MaxMonitoredItemsQueueSize

UInt32

PropertyType

Optional

HasComponent

Variable

<VendorCapability>

BaseDataType

ServerVendorCapabilityType

OptionalPlaceholder

HasProperty

Variable

ConformanceUnits

QualifiedName[]

PropertyType

Optional

Conformance Units

Base Info ServerType

ServerProfileArray lists the Profiles that the Server supports. The String shall be the URI of the Profile. See OPC 10000-7 for definitions of OPC UA 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, Method arguments and Event fields 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, Method arguments or Event fields 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 and LocalizedText supported by Variables, Method arguments and Event fields 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, Method arguments and Event fields of the Server. Servers may override this setting by adding the MaxByteStringLength 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.

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

MaxSessions is an integer specifying the maximum number of concurrent Sessions the Server can support. The value specifies the maximum the Server can support under normal circumstances, therefore there is no guarantee the Server can always support the maximum.

MaxSubscriptions is an integer specifying the maximum number of Subscriptions the Server can support. The value specifies the maximum the Server can support under normal circumstances, therefore there is no guarantee the Server can always support the maximum.

MaxMonitoredItems is an integer specifying the maximum number of MonitoredItems the Server can support. The value specifies the maximum the Server can support under normal circumstances, therefore there is no guarantee the Server can always support the maximum.

MaxSubscriptionsPerSession is an integer specifying the maximum number of Subscriptions per Session the Server can support. The value specifies the maximum the Server can support under normal circumstances, therefore there is no guarantee the Server can always support the maximum.

MaxMonitoredItemsPerSubscription is an integer specifying the maximum number of MonitoredItems per Subscription the Server can support. The value specifies the maximum the Server can support under normal circumstances, therefore there is no guarantee the Server can always support the maximum.

MaxSelectClauseParameters is an integer specifying the maximum number of EventField SelectClause Parameters the Server can support for an EventFilter. The value specifies the maximum the Server can support under normal circumstances, therefore there is no guarantee the Server can always support the maximum.

MaxWhereClauseParameters is an integer specifying the maximum number of EventField WhereClause Parameters the Server can support for an EventFilter. The value specifies the maximum the Server can support under normal circumstances, therefore there is no guarantee the Server can always support the maximum.

MaxMonitoredItemsQueueSize is an integer specifying the maximum size of data MonitoredItem queues. The value specifies the maximum the Server can support under normal circumstances, therefore there is no guarantee the Server can always support the maximum.

When a vendor can not determine a limit of an optional component then the component shall not be included.

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

The <VendorCapability> Variable is used to provide information about the server-specific capabilities.

ConformanceUnits is a QualifiedName array specifying the set of conformance units the Server supports. This list should be limited to the ConformanceUnits the Server supports in its current configuration.