This Structure DataType is an abstract base type for SubscribedDataSet parameters. The SubscribedDataSetDataType is formally defined in Table 41.

Table 41 – SubscribedDataSetDataType Structure

Name

Type

Description

SubscribedDataSetDataType

Structure

The SubscribedDataSetDataType Structure representation in the AddressSpace is defined in Table 42.

Table 42 – SubscribedDataSetDataType Definition

Attributes

Value

BrowseName

SubscribedDataSetDataType

IsAbstract

True

References

NodeClass

BrowseName

IsAbstract

Description

Subtype of Structure defined in OPC 10000-5.

HasSubtype

DataType

TargetVariablesDataType

FALSE

Defined in 6.2.9.2.2.

HasSubtype

DataType

SubscribedDataSetMirrorDataType

FALSE

Defined in 6.2.9.3.3.

The SubscribedDataSet option TargetVariables defines a list of Variable mappings between received DataSet fields and target Variables in the Subscriber AddressSpace. The FieldTargetDataType is defined in 6.2.9.2.3. Target Variables shall only be used once within the same TargetVariables list.

This Structure DataType is used to represent TargetVariables specific parameters. It is a subtype of the SubscribedDataSetDataType defined in 6.2.9.1.

The TargetVariablesDataType is formally defined in Table 43.

Table 43 – TargetVariablesDataType Structure

Name

Type

Description

TargetVariablesDataType

Structure

targetVariables

FieldTargetDataType[]

Defined in 6.2.9.2.1.

This DataType is used to provide the metadata for the relation between a field in a DataSetMessage and a target Variable in a DataSetReader. The FieldTargetDataType is formally defined in Table 44.

Table 44 – FieldTargetDataType Structure

Name

Type

Description

FieldTargetDataType

Structure

dataSetFieldId

Guid

The unique ID of the field in the DataSet. The fields and their unique IDs are defined in the DataSetMetaData Structure.

receiverIndexRange

NumericRange

Index range used to extract parts of an array out of the received data.

It is used to identify a single element of an array, or a single range of indexes for arrays for the received DataSet field. If a range of elements is specified, the values are returned as a composite. The first element is identified by index 0 (zero). The NumericRange type is defined in OPC 10000-4.

This parameter is null if the specified Attribute is not an array. However, if the specified Attribute is an array, and this parameter is null, then the complete array is used.

The resulting data array size of this NumericRange shall match the resulting data array size of the writeIndexRange NumericRange setting.

targetNodeId

NodeId

The NodeId of the Variable where to write the received DataSetMessage field value to.

attributeId

IntegerId

Id of the Attribute to write e.g. the Value Attribute. This shall be a valid AttributeId.

The Attributes are defined in OPC 10000-3. The IntegerId DataType is defined in OPC 10000-4. The IntegerIds for the Attributes are defined in OPC 10000-6.

writeIndexRange

NumericRange

The index range used for writing received data to the target node.

It is used to identify a single element of an array, or a single range of indexes for arrays for the write operation to the target Node. If a range of elements is specified, the values are written as a composite. The first element is identified by index 0 (zero). The NumericRange type is defined in OPC 10000-4.

This parameter is null if the specified Attribute is not an array. However, if the specified Attribute is an array, and this parameter is null, then the complete array is used.

overrideValueHandling

OverrideValueHandling

The value is used to define the override value handling behaviour if the State of the DataSetReader is not Operational_2 or if the corresponding field in the DataSet contains a Bad StatusCode.

The handling of the OverrideValue in different scenarios is defined in 6.2.10.

The OverrideValueHandling enumeration DataType is defined in 6.2.9.2.4.

overrideValue

Variant

This value is used if the OverrideValueHandling is set to OverrideValue_2 and the State of the DataSetReader is not Operational_2 or if the corresponding field in the DataSet contains a Bad StatusCode.

The handling of the OverrideValue in different scenarios is defined in 6.2.10.

This Value shall match the DataType of the target Node.

The OverrideValueHandling is an enumeration that specifies the possible options for the handling of Override values. The possible enumeration values are described in Table 45.

Table 45 – OverrideValueHandling Values

Value

Description

Disabled_0

The override value handling is disabled.

LastUsableValue_1

In the case of an error, the last usable value is used. If no last useable value is available, the default value for the data type is used.

OverrideValue_2

In the case of an error, the configured override value is used.

This parameter with DataType String defines the BrowseName and DisplayName of the parent Node for the Variables representing the fields of the subscribed DataSet.

This parameter with DataType RolePermissionType defines the value of the RolePermissions Attribute to be set on the parent Node. This value is also used as RolePermissions for all Variables of the DataSet mirror.

This Structure DataType is used to represent SubscribedDataSetMirror specific parameters. It is a subtype of the SubscribedDataSetDataType defined in 6.2.9.1.

The SubscribedDataSetMirrorDataType is formally defined in Table 46.

Table 46 – SubscribedDataSetMirrorDataType Structure

Name

Type

Description

SubscribedDataSetMirrorDataType

Structure

parentNodeName

String

Defined in 6.2.9.3.1.

rolePermissions

RolePermissionType[]

Defined in 6.2.9.3.2.