This ObjectType defines the metadata for the subscribed DataSet and the information for the processing of DataSetMessages. See 5.4.2.2 for an introduction to the processing options for received DataSetMessages.
The SubscribedDataSetType is formally defined in Table 269.
Table 269 – SubscribedDataSetType definition
Attribute |
Value |
|||||
BrowseName |
SubscribedDataSetType |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
|
Subtype of BaseObjectType defined in OPC 10000-5 |
||||||
Conformance Units |
||||||
PubSub Model Base |
This ObjectType defines the metadata for the subscribed DataSet and the information for the processing of DataSetMessages. The TargetVariablesType is formally defined in Table 270.
Table 270 – TargetVariablesType definition
Attribute |
Value |
|||||
BrowseName |
TargetVariablesType |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
|
Subtype of SubscribedDataSetType defined in 9.1.9.1. |
||||||
HasProperty |
Variable |
TargetVariables |
FieldTargetDataType[] |
PropertyType |
Mandatory |
|
HasComponent |
Method |
AddTargetVariables |
Defined in 9.1.9.2.2. |
Optional |
||
HasComponent |
Method |
RemoveTargetVariables |
Defined in 9.1.9.2.3. |
Optional |
||
Conformance Units |
||||||
PubSub Model SubscribedDataSet |
The TargetVariables is defined in 6.2.10.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 through AddDataConnections shall 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.3.2.6. |
TargetVariablesToAdd |
The list of target Variables to write received DataSet fields to. The FieldTargetDataType is defined in 6.2.10.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 provided. |
Bad_InvalidState |
The DataSetReader is not configured yet or the ConfigurationVersion does not match the version in the Publisher. |
Bad_UserAccessDenied |
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 as 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. |
Table 271 specifies the AddressSpace representation for the AddTargetVariables Method.
Table 271 – AddTargetVariables Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
AddTargetVariables |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
HasProperty |
Variable |
InputArguments |
Argument[] |
PropertyType |
Mandatory |
HasProperty |
Variable |
OutputArguments |
Argument[] |
PropertyType |
Mandatory |
ConformanceUnits |
|||||
PubSub Model SubscribedDataSet |
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 through RemoveTargetVariables shall 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.3.2.6. |
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 provided. |
Bad_InvalidState |
The DataSetReader is not configured yet or the ConfigurationVersion does not match the version in the DataSetMetaData. |
Bad_UserAccessDenied |
Operation Result Codes
ResultCode |
Description |
Bad_InvalidArgument |
The provided index is invalid. |
Table 272 specifies the AddressSpace representation for the RemoveTargetVariables Method.
Table 272 – RemoveTargetVariables Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
RemoveTargetVariables |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
HasProperty |
Variable |
InputArguments |
Argument[] |
PropertyType |
Mandatory |
HasProperty |
Variable |
OutputArguments |
Argument[] |
PropertyType |
Mandatory |
ConformanceUnits |
|||||
PubSub Model SubscribedDataSet |
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 273.
Table 273 – SubscribedDataSetMirrorType definition
Attribute |
Value |
||||
BrowseName |
SubscribedDataSetMirrorType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of SubscribedDataSetType defined in 9.1.9.1. |
|||||
Conformance Units |
|||||
PubSub Model SubscribedDataSet Mirror |
An Object of this type shall reference a mirror Object with HasComponent where the name of the Object is based on the ParentNodeName. The Method CreateDataSetMirror can be used to set the SubscribedDataSet into the mirror mode.
The mirror Object shall reference Variables for each DataSet field in the DataSetMetaData with HasComponent. The name, DataType, ValueRank and ArrayDimensions of the Variables shall match the settings for the corresponding DataSet field in the DataSetMetaData.
A Variable representing a field of the DataSet shall be created with the following rules
- TypeDefinition is BaseDataVariableType or a subtype.
- The Reference from the parent Node to the Variable is of type HasComponent.
- The initial AccessLevel of the Variables is CurrentRead.
- The RolePermissions is derived from the parent Node.
- The other Attribute values are taken from the FieldMetaData.
- The properties in the FieldMetaData are created as Properties of the Variable.
The DataTypes are created in the Subscriber from the DataSetMetaData if they do not exist. The NamespaceUri of the created DataTypes shall match the namespace contained in the DataSetMetaData.
The SubscribedDataSetFolderType is formally defined in Table 274.
Table 274 – SubscribedDataSetFolderType definition
Attribute |
Value |
||||
BrowseName |
SubscribedDataSetFolderType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of FolderType defined in OPC 10000-5. |
|||||
Organizes |
Object |
<SubscribedDataSetFolderName> |
|
SubscribedDataSetFolderType |
OptionalPlaceholder |
HasComponent |
Object |
<StandaloneSubscribedDataSetName> |
|
StandaloneSubscribedDataSetType |
OptionalPlaceholder |
HasComponent |
Method |
AddSubscribedDataSet |
Defined in 9.1.9.4.2 |
Optional |
|
HasComponent |
Method |
RemoveSubscribedDataSet |
Defined in 9.1.9.4.3 |
Optional |
|
HasComponent |
Method |
AddDataSetFolder |
Defined in 9.1.9.4.4. |
Optional |
|
HasComponent |
Method |
RemoveDataSetFolder |
Defined in 9.1.9.4.5. |
Optional |
|
Conformance Units |
|||||
PubSub Model SubscribedDataSet Standalone |
The SubscribedDataSetFolderType ObjectType is a concrete type and can be used directly.
Instances of the SubscribedDataSetFolderType can contain StandaloneSubscribedDataSets or other instances of the SubscribedDataSetFolderType. This can be used to build a tree of Folder Objects used to group the configured StandaloneSubscribedDataSets.
The StandaloneSubscribedDataSetType Objects are added as components to the instance of the SubscribedDataSetFolderType. An instance of a StandaloneSubscribedDataSetType is referenced only from one SubscribedDataSetFolder. If the SubscribedDataSetFolder is deleted, all referenced StandaloneSubscribedDataSetType Objects are deleted with the folder.
StandaloneSubscribedDataSetType Objects may be configured with product-specific configuration tools or added and removed through the Methods AddSubscribedDataSet and RemoveSubscribedDataSet.
This Method is used to add a new standalone subscribed DataSet Object to an instance of the DataSet Folder.
The Client shall be authorized to modify the configuration for the PubSub functionality when invoking this Method on the Server.
Signature
AddSubscribedDataSet (
[in]StandaloneSubscribedDataSetDataType SubscribedDataSet,
[out]NodeId SubscribedDataSetNodeId
);
Argument |
Description |
SubscribedDataSet |
The standalone subscribed DataSet to add. |
SubscribedDataSetNodeId |
Method Result Codes
ResultCode |
Description |
Bad_InvalidArgument |
The Server is not able to apply the name. The name may be too long or may contain invalid characters. |
Bad_BrowseNameDuplicated |
An Object with the name already exists in the folder. |
Bad_ResourceUnavailable |
The Server does not have enough resources to add the subscribed DataSet. |
Bad_UserAccessDenied |
The Session user does not have rights to create the subscribed DataSet. |
Table 275 specifies the AddressSpace representation for the AddSubscribedDataSet Method.
Table 275 – AddSubscribedDataSet Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
AddSubscribedDataSet |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
HasProperty |
Variable |
InputArguments |
Argument[] |
PropertyType |
Mandatory |
HasProperty |
Variable |
OutputArguments |
Argument[] |
PropertyType |
Mandatory |
ConformanceUnits |
|||||
PubSub Model SubscribedDataSet Standalone |
This Method is used to remove a standalone subscribed DataSet Object from a subscribed DataSet Folder. If a DataSetReader is connected, the DataSetReader is removed too.
The Client shall be authorized to modify the configuration for the PubSub functionality when invoking this Method on the Server.
Signature
RemoveSubscribedDataSet (
[in]NodeIdSubscribedDataSetNodeId
);
Argument |
Description |
SubscribedDataSetNodeId |
NodeId of the standalone subscribed DataSet to remove from the folder. |
Method Result Codes
ResultCode |
Description |
Bad_NodeIdUnknown |
The SubscribedDataSetNodeId is unknown. |
Bad_NodeIdInvalid |
The SubscribedDataSetNodeId is not a NodeId of a standalone subscribed DataSet. |
Bad_UserAccessDenied |
Table 276 specifies the AddressSpace representation for the RemoveSubscribedDataSet Method.
Table 276 – RemoveSubscribedDataSet Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
RemoveSubscribedDataSet |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
HasProperty |
Variable |
InputArguments |
Argument[] |
PropertyType |
Mandatory |
ConformanceUnits |
|||||
PubSub Model SubscribedDataSet Standalone |
This Method is used to add a SubscribedDataSetFolderType Object to a SubscribedDataSetFolderType Object.
The Client shall be authorized to modify the configuration for the PubSub functionality when invoking this Method on the Server.
Signature
AddDataSetFolder (
[in]StringName,
[out]NodeIdDataSetFolderNodeId
);
Argument |
Description |
Name |
Name of the Object to create. |
DataSetFolderNodeId |
NodeId of the created SubscribedDataSetFolderType Object. |
Method Result Codes
ResultCode |
Description |
Bad_BrowseNameDuplicated |
A folder Object with the name already exists. |
Bad_InvalidArgument |
The Server is not able to apply the Name. The Name may be too long or may contain invalid characters. |
Bad_UserAccessDenied |
The Session user is not allowed to add a folder. |
Table 277 specifies the AddressSpace representation for the AddDataSetFolder Method.
Table 277 – AddDataSetFolder Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
AddDataSetFolder |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
HasProperty |
Variable |
InputArguments |
Argument[] |
PropertyType |
Mandatory |
HasProperty |
Variable |
OutputArguments |
Argument[] |
PropertyType |
Mandatory |
ConformanceUnits |
|||||
PubSub Model SubscribedDataSet Standalone |
This Method is used to remove a SubscribedDataSetFolderType Object from the parent SubscribedDataSetFolderType Object.
A successful removal of the SubscribedDataSetFolderType Object removes all associated StandaloneSubscribedDataSetType Objects and their associated DataSetReader Objects. Before the Objects are removed, their state is changed to Disabled.
The Client shall be authorized to modify the configuration for the PubSub functionality when invoking this Method on the Server.
Signature
RemoveDataSetFolder (
[in]NodeIdDataSetFolderNodeId
);
Argument |
Description |
DataSetFolderNodeId |
NodeId of the SubscribedDataSetFolderType Object to remove from the Server. |
Method Result Codes
ResultCode |
Description |
Bad_NodeIdUnknown |
The DataSetFolderNodeId is unknown. |
Bad_UserAccessDenied |
The Session user is not allowed to delete the folder. |
Table 278 specifies the AddressSpace representation for the RemoveDataSetFolder Method.
Table 278 – RemoveDataSetFolder Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
RemoveDataSetFolder |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
HasProperty |
Variable |
InputArguments |
Argument[] |
PropertyType |
Mandatory |
ConformanceUnits |
|||||
PubSub Model SubscribedDataSet Standalone |
This ObjectType represents a Subscriber defined standalone DataSet. A standalone subscribed DataSet can exist without DataSetReader and is used to define a DataSet from the Subscriber side. A DataSetReader can be configured and connected to the standalone DataSet if a Publisher provides the DataSetMessages defined by the DataSetMetaData in the standalone DataSet. The StandaloneSubscribedDataSetType is formally defined in Table 279.
Table 279 – StandaloneSubscribedDataSetType definition
Attribute |
Value |
||||
BrowseName |
StandaloneSubscribedDataSetType |
||||
IsAbstract |
False |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
Subtype of BaseObjectType defined in OPC 10000-5 |
|||||
HasComponent |
Object |
SubscribedDataSet |
|
SubscribedDataSetType |
Mandatory |
HasProperty |
Variable |
DataSetMetaData |
DataSetMetaDataType |
PropertyType |
Mandatory |
HasProperty |
Variable |
IsConnected |
Boolean |
PropertyType |
Mandatory |
Conformance Units |
|||||
PubSub Model SubscribedDataSet Standalone |
The SubscribedDataSetType defined in 9.1.9.1 describes the processing of the received DataSet in a Subscriber.
The DataSetMetaData is defined in 6.2.9.4. A Publisher must be configured to send DataSetMessages that comply with the DataSetMetaData in the standalone subscribed DataSet.
The IsConnected Property with DataType Boolean indicates if the standalone subscribed DataSet is connected to a DataSetReader. A standalone subscribed DataSet can only be connected to one DataSetReader. If a DataSetReader is connected, the DataSetReader Object shall share the Nodes SubscribedDataSet and DataSetMetaData with the StandaloneSubscribedDataSet Object. The relation between standalone SubscribedDataSet and the connected DataSetReader is provided in both directions through the inverse References from the SubscribedDataSet Object.