Errata exists for this version of the document.

This ObjectType defines the metadata for the subscribed DataSet and the information for the processing of DataSetMessages. The SubscribedDataSetType is formally defined in Table 129.

Table 129 – SubscribedDataSetType Definition

Attribute

Value

BrowseName

SubscribedDataSetType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of BaseObjectType defined in Part 5

HasSubtype

ObjectType

TargetVariablesType

HasSubtype

ObjectType

SubscribedDataSetMirrorType

This ObjectType defines the metadata for the subscribed DataSet and the information for the processing of DataSetMessages. The TargetVariablesType is formally defined in Table 130.

Table 130 – TargetVariablesType Definition

Attribute

Value

BrowseName

TargetVariablesType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of SubscribedDataSetType defined in 9.1.9.1.

HasProperty

Variable

TargetVariables

FieldTarget‌DataType[]

PropertyType

Mandatory

HasComponent

Method

AddTargetVariables

Defined in 9.1.9.3.

Optional

HasComponent

Method

RemoveTargetVariables

Defined in 9.1.9.4.

Optional

The TargetVariables is defined in 6.2.9.2.

This Method is used to add target Variables to an existing list of target Variables of a TargetVariablesType Object.

The Client shall be authorized to modify the configuration for the PubSub functionality when invoking this Method on the Server.

Signature

AddTargetVariables (

[in]ConfigurationVersionDataType ConfigurationVersion

[in]FieldTargetDataType[] TargetVariablesToAdd

[out] StatusCode[] AddResults

);

Argument

Description

ConfigurationVersion

Configuration version of the DataSet. The configuration version passed in through AddDataConnections must match the current configuration version in DataSetMetaData Property. If it does not match, the result Bad_InvalidState shall be returned. The ConfigurationVersionDataType is defined in 6.2.2.1.5.

TargetVariablesToAdd

The list of target Variables to write received DataSet fields to. The FieldTargetDataType is defined in 6.2.9.2.3. The succeeded connections are added to the TargetVariables Property.

AddResults

The result codes for the Variables to connect.

Method Result Codes

ResultCode

Description

Bad_NothingToDo

An empty list of Variables was passed in.

Bad_InvalidState

The DataSetReader is not configured yet or the ConfigurationVersion does not match the version in the Publisher.

Bad_UserAccessDenied

The Session user is not allowed to configure the Object.

Operation Result Codes

ResultCode

Description

Bad_NodeIdInvalid

See OPC 10000-4 for the description of this result code.

Bad_NodeIdUnknown

See OPC 10000-4 for the description of this result code.

Bad_IndexRangeInvalid

See OPC 10000-4 for the description of this result code.

This status code indicates either an invalid ReceiverIndexRange or an invalid WriterIndexRange or if the two settings result in a different size.

Bad_IndexRangeNoData

See OPC 10000-4 for the description of this result code.

If the ArrayDimensions have a fixed length that cannot change and no data exists within the range of indexes specified, Bad_IndexRangeNoData is returned in AddDataConnections.

Bad_TooManyMonitoredItems

The Server has reached its maximum number of items for the DataSetReader object.

Bad_InvalidState

The TargetNodeId is already used by another target Variable.

Bad_TypeMismatch

The Server shall return a Bad_TypeMismatch error if the data type of the DataSet field is not the same type or subtype of the target Variable DataType. Based on the DataType hierarchy, subtypes of the Variable DataType shall be accepted by the Server. A ByteString is structurally the same as a one dimensional array of Byte. A Server shall accept a ByteString if an array of Byte is expected.

This Method is used to remove entries from the list of target Variables of a TargetVariablesType Object.

The Client shall be authorized to modify the configuration for the PubSub functionality when invoking this Method on the Server.

Signature

RemoveTargetVariables (

[in]ConfigurationVersionDataType ConfigurationVersion

[in]UInt32[] TargetsToRemove

[out] StatusCode[] RemoveResults

);

Argument

Description

ConfigurationVersion

Configuration version of the DataSet. The configuration version passed in through RemoveDataConnections must match the current configuration version in DataSetMetaData Property. If it does not match, the result Bad_InvalidState shall be returned. The ConfigurationVersionDataType is defined in 6.2.2.1.5.

TargetsToRemove

Array of indices of connections to remove from the list of target Variables.

RemoveResults

The result codes for the connections to remove.

Method Result Codes

ResultCode

Description

Bad_NothingToDo

An empty list of Variables was passed in.

Bad_InvalidState

The DataSetReader is not configured yet or the ConfigurationVersion does not match the version in the DataSetMetaData.

Bad_UserAccessDenied

The Session user is not allowed to configure the Object.

Operation Result Codes

ResultCode

Description

Bad_InvalidArgument

The provided index is invalid.

This ObjectType defines the information for the processing of DataSetMessages as mirror Variables. For each field of the DataSet a mirror Variable is created in the Subscriber AddressSpace. The SubscribedDataSetMirrorType is formally defined in Table 131.

Table 131 – SubscribedDataSetMirrorType Definition

Attribute

Value

BrowseName

SubscribedDataSetMirrorType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of SubscribedDataSetType defined in 9.1.9.1.

An Object of this type shall contain an Object with the ParentNodeName passed to the Method CreateDataSetMirror used to set the SubscribedDataSet into the mirror mode.