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.