9.1.4.2.2 ExtensionFieldsType

The ExtensionFieldsType is formally defined in Table 248. It allows the configuration of fields with values to be included in the DataSet in case the existing AddressSpace of the Publisher does not provide the necessary information.

Table 248 – ExtensionFieldsType definition
Attribute Value
BrowseNameExtensionFieldsType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of BaseObjectType defined in OPC 10000-5.
HasPropertyVariable<ExtensionFieldName>BaseDataTypePropertyTypeOptionalPlaceholder
HasComponentMethodAddExtensionFieldDefined in 9.1.4.2.3.Mandatory
HasComponentMethodRemoveExtensionFieldDefined in 9.1.4.2.4.Mandatory
Conformance Units
PubSub Model Base

The ExtensionFieldsType ObjectType is a concrete type and can be used directly.

The configured list of extension fields is exposed through Properties and managed through the Methods AddExtensionField and RemoveExtensionField. An ExtensionField is not automatically included in the DataSet. The ExtensionField can be added to the DataSet after creation.

Metadata that normally appear in message headers can be included in the body by adding extension fields with well-known QualifiedNames. These well-known QualifiedNames are shown in Table 249. The qualifying namespace is the OPC UA namespace.

Table 249 – Well-Known Extension Field Names
Name Type Description
PublisherIdBaseDataTypeThe PublisherId from the Connection Object.
DataSetNameStringThe Name from the DataSetMetaData.
DataSetClassIdGuidThe DataSetClassId from the DataSetMetaData.
MajorVersionUInt32The MajorVersion from the ConfigurationVersion
MinorVersionUInt32The MinorVersion from the ConfigurationVersion
DataSetWriterIdBaseDataTypeThe DataSetWriterId from the DataSetWriterTransport Object.
MessageSequenceNumberUInt16The sequence number from the DataSetMessage.

If a well-known name is used, the value placed in the message body is dynamically generated from the current settings. The value set in the AddExtensionField Method is ignored. Subtypes of DataSetWriterTransportType may extend this list.