Errata exists for this version of the document.
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. |
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. |