This ObjectTypeis the base type for PublishedDataSets. It defines the metadata and the configuration version of the DataSetssent as DataSetMessagesthrough DataSetWriters.

The PublishedDataSetTypeis the base type for configurable DataSets. Derived types like PublishedDataItemsTypeand PublishedEventsTypedefines how to collect the DataSetto be published. For PublishedDataItemsTypethis is a list of monitored Variables. For PublishedEventsTypethis is an Eventselection. The list of monitored Variables or the list of selected EventFieldsdefines the content and metadata of the PublishedDataSetType Object.

If the content of the DataSetis defined by a product specific configuration and the source of the DataSetis not known, the PublishedDataSetType can be used directly to expose the PublishedDataSetin the AddressSpaceof the Publisher.

The PublishedDataSetTypeis formally defined in Table 105.

Table 105– PublishedDataSetType Definition

Attribute

Value

BrowseName

PublishedDataSetType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of BaseObjectType defined in OPC 10000-5.

DataSetToWriter

Object

<DataSetWriterName>

DataSetWriterType

Optional‌Placeholder

HasProperty

Variable

ConfigurationVersion

Configuration‌VersionDataType

PropertyType

Mandatory

HasProperty

Variable

DataSetMetaData

DataSetMeta‌DataType

PropertyType

Mandatory

HasProperty

Variable

DataSetClassId

Guid

PropertyType

Optional

HasComponent

Object

ExtensionFields

ExtensionFieldsType

Optional

The PublishedDataSetType ObjectTypeis a concrete type and can be used directly. It can be used to expose a PublishedDataSetwhere the data collection is not visible in the AddressSpace.

The Objecthas a list of DataSetWriters. A DataSetWritersends DataSetMessagescreated from DataSetsthrough aMessage Oriented Middleware. The link between the PublishedDataSet Objectand a DataSetWritershall be created when an instance of the DataSetWriterTypeis created. The DataSetWriterTypeis defined in 9.1.7.2. If a DataSetWriteris created for the PublishedDataSet, it is added to the list using the ReferenceType DataSetToWriter. The DataSetToWriter ReferenceTypeis defined in 9.1.4.2.5. If a DataSetWriterfor the PublishedDataSetis removed from a group, the Referenceto this DataSetWritershall also be removed from this list. The group model is defined in 9.1.6.

The Property ConfigurationVersionis related to configuration of the DataSetproduced by the PublishedDataSet Object. The PublishedDataSetparameters affecting the version are defined in the concrete types derived from this base type. The ConfigurationVersionDataTypeand the rules for setting the version are defined in 6.2.2.1.5.

The Property DataSetMetaDataprovides the information necessary to decode DataSetMessageson the Subscriberside if the DataSetMessagesare not self-describing. The information in this Propertyis automatically updated if the ConfigurationVersionis changed based on DataSetconfiguration change. The DataSetMetaDataTypeis defined in 6.2.2.1.2. The Namefield in the DataSetMetaDataTypeshall match the name of the PublishedDataSetType Objectif the DataSetMetaDatais not based on a DataSetClass.

The MajorVersionpart of the ConfigurationVersioncontained in the DataSetMessagemust match the ConfigurationVersionof the DataSetMetaData available on the Subscriber side.

The DataSetClassIdis the globally unique identifier for a DataSetClass. The optional Propertyshall be present if the DataSetClassIdof the DataSetMetaDatais not null. If the DataSetClassIdis set, the Publishershall reject any configuration changes that change the DataSetMetaData.

The ExtensionFields Object allows the configuration of fields with values to be included in the DataSetin case the existing AddressSpaceof the Publisherdoes not provide the necessary information. The extension fields are added as Propertiesto the ExtensionFields Object.For PublishedDataItemsTypebase PublishedDataSets, an extension field is included as a Variablein the published DataSet. For PublishedEventsTypebase PublishedDataSets, an extension field is included into the SelectedFieldsfor the DataSet.

The ExtensionFieldsTypeis formally defined in Table 106. It allows the configuration of fields with values to be included in the DataSetin case the existing AddressSpaceof the Publisherdoes not provide the necessary information.

Table 106– ExtensionFieldsType Definition

Attribute

Value

BrowseName

ExtensionFieldsType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of BaseObjectType defined in OPC 10000-5.

HasProperty

Variable

<ExtensionFieldName>

BaseDataType

PropertyType

OptionalPlaceholder

HasComponent

Method

AddExtensionField

Defined in 9.1.4.2.3.

Mandatory

HasComponent

Method

RemoveExtensionField

Defined in 9.1.4.2.4.

Mandatory

The ExtensionFieldsType ObjectTypeis a concrete type and can be used directly.

The configured list of extension fields is exposed through Propertiesand managed through the Methods AddExtensionFieldand RemoveExtensionField. An ExtensionFieldis not automatically included in the DataSet. The ExtensionFieldmust be added to the DataSetafter creation.

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

Table 107– Well-Known Extension Field Names

Name

Type

Description

PublisherId

BaseDataType

The PublisherIdfrom the Connection Object.

DataSetName

String

The Namefrom the DataSetMetaData.

DataSetClassId

Guid

The DataSetClassIdfrom the DataSetMetaData.

MajorVersion

UInt32

The MajorVersion from the ConfigurationVersion

MinorVersion

UInt32

The MinorVersion from the ConfigurationVersion

DataSetWriterId

BaseDataType

The DataSetWriterIdfrom the DataSetWriterTransport Object.

MessageSequenceNumber

UInt16

The 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 Methodis ignored. Subtypes of DataSetWriterTransportTypemay extend this list.

This Methodis used to add a Propertyto the Object ExtensionFields.

The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon the Server.

Signature

AddExtensionField(

[in]QualifiedNameFieldName

[in]BaseDataTypeFieldValue

[out]NodeId FieldId

);

Argument

Description

FieldName

Name of the field to add.

FieldValue

The value of the field to add.

FieldId

The NodeIdof the added field Property.

Method Result Codes

ResultCode

Description

Bad_NodeIdExists

A field with the name already exists.

Bad_InvalidArgument

The Serveris not able to apply the Name. The Namemay be too long or may contain invalid characters.

Bad_UserAccessDenied

The Sessionuser is not allowed to configure the Object.

This Methodis used to remove a Propertyfrom the Object ExtensionFields.

The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon the Server.

Signature

RemoveExtensionField(

[in]NodeId FieldId

);

Argument

Description

FieldId

The NodeIdfield Propertyto remove.

Method Result Codes

ResultCode

Description

Bad_NodeIdUnknown

A field with the NodeIddoes not exist.

Bad_NodeIdInvalid

The FieldIdis not a NodeIdof a Propertyof the ExtensionFieldsType Object.

Bad_UserAccessDenied

The Sessionuser is not allowed to configure the Object.

The DataSetToWriter ReferenceTypeis a concrete ReferenceTypethat can be used directly. It is a subtype of the HierarchicalReferences ReferenceType.

The SourceNodeof Referencesof this type shall be an Objectof ObjectType PublishedDataSetTypeor an ObjectTypethat is a subtype of PublishedDataSetTypedefined in 9.1.4.2.1.

The TargetNodeof this ReferenceType shall be an Objectof the ObjectType DataSetWriterTypedefined in 9.1.7.1.

Each DataSetWriter Objectshall be the TargetNodeof exactly one DataSetToWriter Reference.

Serversshall provide the inverse Referencethat relates a DataSetWriter Objectback to a PublishedDataSetTypeObject.

The representation of the DataSetToWriter ReferenceTypein the AddressSpaceis specified in Table 108.

Table 108– DataSetToWriter ReferenceType

Attributes

Value

BrowseName

DataSetToWriter

InverseName

WriterToDataSet

Symmetric

False

IsAbstract

False

References

NodeClass

BrowseName

Comment

Subtype of HierarchicalReferences defined in OPC 10000-5.