This ObjectTypedefines the metadata for the subscribed DataSetand the information for the processing of DataSetMessages. The SubscribedDataSetTypeis 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 ObjectTypedefines the metadata for the subscribed DataSetand the information for the processing of DataSetMessages. The TargetVariablesTypeis 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 TargetVariablesis defined in 6.2.9.2.

This Methodis used to add target Variablesto an existing list of target Variablesof a TargetVariablesType Object.

The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon 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 AddDataConnectionsmust match the current configuration version in DataSetMetaData Property. If it does not match, the result Bad_InvalidState shall be returned. The ConfigurationVersionDataTypeis defined in 6.2.2.1.5.

TargetVariablesToAdd

The list of target Variablesto write received DataSetfields to. The FieldTargetDataTypeis defined in 6.2.9.2.3. The succeeded connections are added to the TargetVariables Property.

AddResults

The result codes for the Variablesto connect.

Method Result Codes

ResultCode

Description

Bad_NothingToDo

An empty list of Variableswas passed in.

Bad_InvalidState

The DataSetReaderis not configured yet or the ConfigurationVersiondoes not match the version in the Publisher.

Bad_UserAccessDenied

The Sessionuser is not allowed to configure the Object.

Operation Result Codes

ResultCode

Description

Bad_NodeIdInvalid

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

Bad_NodeIdUnknown

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

Bad_IndexRangeInvalid

See OPC 10000-4for 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-4for the description of this result code.

If the ArrayDimensionshave 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 Serverhas reached its maximum number of items for the DataSetReader object.

Bad_InvalidState

The TargetNodeId is already used by another target Variable.

Bad_TypeMismatch

The Servershall return a Bad_TypeMismatch error if the data type of the DataSetfield is not the same type or subtype of the target Variable DataType. Based on the DataTypehierarchy, subtypes of the Variable DataTypeshall be accepted by the Server. A ByteStringis structurally the same as a one dimensional array of Byte. A Servershall accept a ByteStringif an array of Byteis expected.

This Methodis used to remove entries from the list of target Variablesof a TargetVariablesType Object.

The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon 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 RemoveDataConnectionsmust match the current configuration version in DataSetMetaData Property. If it does not match, the result Bad_InvalidState shall be returned. The ConfigurationVersionDataTypeis 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 Variableswas passed in.

Bad_InvalidState

The DataSetReaderis not configured yet or the ConfigurationVersiondoes not match the version in the DataSetMetaData.

Bad_UserAccessDenied

The Sessionuser is not allowed to configure the Object.

Operation Result Codes

ResultCode

Description

Bad_InvalidArgument

The provided index is invalid.

This ObjectTypedefines the information for the processing of DataSetMessagesas mirror Variables. For each field of the DataSeta mirror Variableis created in the Subscriber AddressSpace. The SubscribedDataSetMirrorTypeis 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 Objectof this type shall contain an Objectwith the ParentNodeNamepassed to the Method CreateDataSetMirrorused to set the SubscribedDataSetinto the mirror mode.