9.1.6 Group model

9.1.6.1 Overview

Figure 48 depicts the ObjectType for the PubSub group model and its components and the relations to other parts of the model.

Figure 48 – PubSubGroupType overview
9.1.6.2 PubSubGroupType

This ObjectType is the abstract base type for Objects representing communication groupings for PubSub connections. The PubSubGroupType is formally defined in Table 275.

Table 275 – PubSubGroupType definition
Attribute Value
BrowseNamePubSubGroupType
IsAbstractTrue
References Node Class BrowseName DataType TypeDefinition Modelling Rule
Subtype of BaseObjectType defined in OPC 10000-5.
HasPropertyVariableSecurityModeMessageSecurityModePropertyTypeMandatory
HasPropertyVariableSecurityGroupIdStringPropertyTypeOptional
HasPropertyVariableSecurityKeyServicesEndpointDescription[]PropertyTypeOptional
HasPropertyVariableMaxNetworkMessageSizeUInt32PropertyTypeMandatory
HasPropertyVariableGroupPropertiesKeyValuePair[]PropertyTypeMandatory
HasComponentObjectStatusPubSubStatusTypeMandatory
Conformance Units
PubSub Model Base

The SecurityMode is defined in 6.2.5.2.

The SecurityGroupId is defined in 6.2.5.3. If the SecurityMode is not NONE, the Property shall provide the SecurityGroupId. The value of the Property is null or the Property is not present if the SecurityMode is NONE.

The SecurityKeyServices parameter is defined in 6.2.5.4. If the SecurityMode is not NONE, the Property shall provide the list of Security Key Services for the SecurityGroupId.

The MaxNetworkMessageSize is defined in 6.2.5.5.

The GroupProperties is defined in 6.2.5.6.

The Status Object provides the current operational status of the group. The PubSubStatusType is defined in 9.1.10. The state machine for the status and the relation to other PubSub Objects like PubSubConnection, DataSetWriter and DataSetReader are defined in 6.2.1.

9.1.6.3 WriterGroupType

Instances of WriterGroupType contain settings for a group of DataSetWriters. The WriterGroupType is formally defined in Table 276.

Table 276 – WriterGroupType definition
Attribute Value
BrowseNameWriterGroupType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition ModellingRule
Subtype of PubSubGroupType defined in 9.1.6.2
HasPropertyVariableWriterGroupIdUInt16PropertyTypeMandatory
HasPropertyVariablePublishingIntervalDurationPropertyTypeMandatory
HasPropertyVariableKeepAliveTimeDurationPropertyTypeMandatory
HasPropertyVariablePriorityBytePropertyTypeMandatory
HasPropertyVariableLocaleIdsLocaleId[]PropertyTypeMandatory
HasPropertyVariableHeaderLayoutUriStringPropertyTypeMandatory
HasComponentObjectTransportSettingsWriterGroupTransportTypeOptional
HasComponentObjectMessageSettingsWriterGroupMessageTypeOptional
HasDataSetWriterObject<DataSetWriterName>DataSetWriterTypeOptionalPlaceholder
HasComponentObjectDiagnosticsPubSubDiagnostics‌WriterGroupTypeOptional
HasComponentMethodAddDataSetWriterDeprecated Method described in 9.1.6.4.Optional
HasComponentMethodRemoveDataSetWriterDeprecated Method described in 9.1.6.5.Optional
Conformance Units
PubSub Model Base

The WriterGroupId is defined in 6.2.6.1.

The PublishingInterval is defined in 6.2.6.2.

The KeepAliveTime is defined in 6.2.6.3.

The Priority is defined in 6.2.6.4.

The LocaleIds parameter is defined in 6.2.6.5.

The HeaderLayoutUri is defined in 6.2.6.6.

The transport protocol mapping specific setting settings are provided in the optional Object TransportSettings. The WriterGroupTransportType is defined in 9.1.6.7. The Object shall be present if the transport protocol mapping requires specific settings.

The message mapping specific setting settings are provided in the optional Object MessageSettings. The WriterGroupMessageType is defined in 9.1.6.8. The Object shall be present if the message mapping defines specific parameters.

The configured DataSetWriterType Objects are added as components to the instance of the group. DataSetWriterType Objects may be configured with product-specific configuration tools or through OPC UA Methods AddDataSetWriter and RemoveDataSetWriter. The DataSetWriterType is defined in 9.1.7.1. The ReferenceType HasDataSetWriter is defined in 9.1.6.6.

The Diagnostics Object provides the current diagnostic information for a WriterGroupType Object. The PubSubDiagnosticsWriterGroupType is defined in 9.1.11.9.

9.1.6.4 AddDataSetWriter Method (Deprecated)

This deprecated Method is used to add a new DataSetWriterType Object to an instance of the WriterGroup. A successful creation of the DataSetWriter shall also create a Reference from the related PublishedDataSet Object to the created DataSetWriter.

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

Signature

	AddDataSetWriter (
		[in]	DataSetWriterDataType 	Configuration,
		[out]	NodeId			DataSetWriterNodeId
		);
	
Argument Description
ConfigurationConfiguration parameters for the DataSetWriter. The parameters and the DataSetWriterDataType are defined in 6.2.3.10.5.
DataSetWriterNodeIdThe NodeId of the new DataSetWriter Object.

Method Result Codes

ResultCode Description
Bad_InvalidArgumentThe Server is not able to apply the name. The name may be too long or may contain invalid characters.
Bad_DataSetIdInvalidThe DataSet specified for the DataSetWriter creation is invalid.
Bad_BrowseNameDuplicatedAn Object with the name already exists in the group.
Bad_ResourceUnavailableThe Server has not enough resources to add the DataSetWriter.
Bad_UserAccessDeniedThe Session user does not have rights to create the DataSetWriter.

Table 277 specifies the AddressSpace representation for the AddDataSetWriter Method.

Table 277 – AddDataSetWriter Method AddressSpace definition
Attribute Value
BrowseNameAddDataSetWriter
References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasPropertyVariableInputArgumentsArgument[] PropertyTypeMandatory
HasPropertyVariableOutputArgumentsArgument[] PropertyTypeMandatory
ConformanceUnits
PubSub Model Base
9.1.6.5 RemoveDataSetWriter Method (Deprecated)

This deprecated Method is used to remove a DataSetWriter Object from the group. The state of the DataSetWriter is set to Disabled before removing the Object. A successful removal of the DataSetWriter shall also delete the Reference from the related PublishedDataSetType Object to the removed DataSetWriter.

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

Signature

	RemoveDataSetWriter (
		[in]	NodeId	DataSetWriterNodeId
		);
	
Argument Description
DataSetWriterNodeId NodeId of the DataSetWriter to remove from the group.

Method Result Codes

ResultCode Description
Bad_NodeIdUnknownThe DataSetWriterNodeId is unknown.
Bad_NodeIdInvalidThe DataSetWriterNodeId is not a NodeId of a DataSetWriter.
Bad_UserAccessDeniedThe Session user is not allowed to delete a DataSetWriter.

Table 278 specifies the AddressSpace representation for the RemoveDataSetWriter Method.

Table 278 – RemoveDataSetWriter Method AddressSpace definition
Attribute Value
BrowseNameRemoveDataSetWriter
References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasPropertyVariableInputArgumentsArgument[] PropertyTypeMandatory
ConformanceUnits
PubSub Model Base
9.1.6.6 HasDataSetWriter

The HasDataSetWriter ReferenceType is a concrete ReferenceType that can be used directly. It is a subtype of the HasComponent ReferenceType.

The SourceNode of References of this type shall be an instance of the WriterGroupType defined in 9.1.6.3.

The TargetNode of this ReferenceType shall be an instance of the DataSetWriterType defined in 9.1.7.1.

Servers shall provide the inverse Reference that relates a DataSetWriter Object back to a WriterGroupType Object.

The representation of the HasDataSetWriter ReferenceType in the AddressSpace is specified in Table 279.

Table 279 – HasDataSetWriter ReferenceType
Attributes Value
BrowseNameHasDataSetWriter
InverseNameIsWriterInGroup
SymmetricFalse
IsAbstractFalse
References NodeClass BrowseName Comment
Subtype of HasComponent defined in OPC 10000-5.
Conformance Units
PubSub Model Base
9.1.6.7 WriterGroupTransportType

This ObjectType is the abstract base type for Objects representing transport protocol mapping specific settings for WriterGroups. The WriterGroupTransportType is formally defined in Table 280.

Table 280 – WriterGroupTransportType definition
Attribute Value
BrowseNameWriterGroupTransportType
IsAbstractTrue
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of BaseObjectType
Conformance Units
PubSub Model Base
9.1.6.8 WriterGroupMessageType

This ObjectType is the abstract base type for Objects representing message mapping specific settings for WriterGroups. The WriterGroupMessageType is formally defined in Table 281.

Table 281 – WriterGroupMessageType definition
Attribute Value
BrowseNameWriterGroupMessageType
IsAbstractTrue
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of BaseObjectType
Conformance Units
PubSub Model Base
9.1.6.9 ReaderGroupType

This ObjectType is a concrete type for Objects representing DataSetReader groupings for PubSub connections. The ReaderGroupType is formally defined in Table 282.

Table 282 – ReaderGroupType definition
Attribute Value
BrowseNameReaderGroupType
IsAbstractFalse
References Node Class BrowseName Data Type TypeDefinition ModellingRule
Subtype of PubSubGroupType defined in 9.1.6.2
HasDataSetReaderObject<DataSetReaderName>DataSetReaderTypeOptionalPlaceholder
HasComponentObjectDiagnosticsPubSubDiagnostics‌ReaderGroupTypeOptional
HasComponentObjectTransportSettingsReaderGroupTransportTypeOptional
HasComponentObjectMessageSettingsReaderGroupMessageTypeOptional
HasComponentMethodAddDataSetReaderDeprecated Method described in 9.1.6.10.Optional
HasComponentMethodRemoveDataSetReaderDeprecated Method described in 9.1.6.11.Optional
Conformance Units
PubSub Model Base

The configured DataSetReaderType Objects are added as components to the instance of the group. DataSetReaderType Objects may be configured with product-specific configuration tools or through OPC UA Methods AddDataSetReader and RemoveDataSetReader. The DataSetReaderType is defined in 9.1.8.1. The ReferenceType HasDataSetReader is defined in 9.1.6.12.

The Diagnostics Object provides the current diagnostic information for a ReaderGroupType Object. The PubSubDiagnosticsReaderGroupType is defined in 9.1.11.10.

The transport protocol mapping specific setting settings are provided in the optional Object TransportSettings. The ReaderGroupTransportType is defined in 9.1.6.13. The Object shall be present if the transport protocol mapping defines specific parameters.

The message mapping specific setting settings are provided in the optional Object MessageSettings. The ReaderGroupMessageType is defined in 9.1.6.14. The Object shall be present if the message mapping defines specific parameters.

9.1.6.10 AddDataSetReader Method (Deprecated)

This deprecated Method is used to add a new DataSetReaderType Object to an instance of the ReaderGroup.

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

Signature

	AddDataSetReader (
		[in]	DataSetReaderDataType 	Configuration,
		[out]	NodeId			DataSetReaderNodeId
		);
	
Argument Description
ConfigurationConfiguration parameters for the DataSetWriter. The parameters and the DataSetReaderDataType are defined in 6.2.9.
DataSetReaderNodeIdThe NodeId of the new DataSetReader Object.

Method Result Codes

ResultCode Description
Bad_InvalidArgumentThe Server is not able to apply the name. The name may be too long or may contain invalid characters.
Bad_BrowseNameDuplicatedAn Object with the name already exists in the group.
Bad_ResourceUnavailableThe Server does not have enough resources to add the DataSetReader.
Bad_UserAccessDeniedThe Session user does not have rights to create the DataSetReader.

Table 283 specifies the AddressSpace representation for the AddDataSetReader Method.

Table 283 – AddDataSetReader Method AddressSpace definition
Attribute Value
BrowseNameAddDataSetReader
References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasPropertyVariableInputArgumentsArgument[] PropertyTypeMandatory
HasPropertyVariableOutputArgumentsArgument[] PropertyTypeMandatory
ConformanceUnits
PubSub Model Base
9.1.6.11 RemoveDataSetReader Method (Deprecated)

This deprecated Method is used to remove a DataSetReader Object from the group. The state of the DataSetReader is set to Disabled before the Object is removed.

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

Signature

	RemoveDataSetReader (
		[in]	NodeId	DataSetReaderNodeId
		);
	
Argument Description
DataSetReaderNodeId NodeId of the DataSetReader to remove from the group.

Method Result Codes

ResultCode Description
Bad_NodeIdUnknownThe DataSetReaderNodeId is unknown.
Bad_NodeIdInvalidThe DataSetReaderNodeId is not a NodeId of a DataSetReader.
Bad_UserAccessDeniedThe Session user does not have rights to delete the DataSetReader.

Table 284 specifies the AddressSpace representation for the RemoveDataSetReader Method.

Table 284 – RemoveDataSetReader Method AddressSpace definition
Attribute Value
BrowseNameRemoveDataSetReader
References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasPropertyVariableInputArgumentsArgument[] PropertyTypeMandatory
ConformanceUnits
PubSub Model Base
9.1.6.12 HasDataSetReader

The HasDataSetReader ReferenceType is a concrete ReferenceType that can be used directly. It is a subtype of the HasComponent ReferenceType.

The SourceNode of References of this type shall be an instance of the ReaderGroupType defined in 9.1.6.6.

The TargetNode of this ReferenceType shall be an instance of the DataSetReaderType defined in 9.1.8.1.

Servers shall provide the inverse Reference that relates a DataSetReader Object back to a ReaderGroupType Object.

The representation of the HasDataSetReader ReferenceType in the AddressSpace is specified in Table 285.

Table 285 – HasDataSetReader ReferenceType
Attributes Value
BrowseNameHasDataSetReader
InverseNameIsReaderInGroup
SymmetricFalse
IsAbstractFalse
References NodeClass BrowseName Comment
Subtype of HasComponent defined in OPC 10000-5.
Conformance Units
PubSub Model Base
9.1.6.13 ReaderGroupTransportType

This ObjectType is the abstract base type for Objects representing transport protocol mapping specific settings for ReaderGroups. The ReaderGroupTransportType is formally defined in Table 286.

There is currently no transport protocol mapping specific setting defined.

Table 286 – ReaderGroupTransportType definition
Attribute Value
BrowseNameReaderGroupTransportType
IsAbstractTrue
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of BaseObjectType
Conformance Units
PubSub Model Base
9.1.6.14 ReaderGroupMessageType

This ObjectType is the abstract base type for Objects representing message mapping specific settings for ReaderGroups. The ReaderGroupMessageType is formally defined in Table 287.

There is currently no message mapping specific setting defined.

Table 287 – ReaderGroupMessageType definition
Attribute Value
BrowseNameReaderGroupMessageType
IsAbstractTrue
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of BaseObjectType
Conformance Units
PubSub Model Base