9.1.5 Connection model

9.1.5.1 Overview

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

Figure 47 – PubSubConnectionType overview
9.1.5.2 PubSubConnectionType

This ObjectType is a concrete type for Objects representing PubSubConnections. A PubSubConnection is a combination of protocol selection, protocol settings and addressing information. The PubSubConnectionType is formally defined in Table 266.

Table 266 – PubSubConnectionType definition
Attribute Value
BrowseNamePubSubConnectionType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition ModellingRule
Subtype of BaseObjectType defined in OPC 10000-5.
HasPropertyVariablePublisherIdBaseDataTypePropertyTypeMandatory
HasComponentVariableTransportProfileUriStringSelectionListTypeMandatory
HasPropertyVariableConnectionPropertiesKeyValuePair[]PropertyTypeMandatory
HasComponentObjectAddressNetworkAddressTypeMandatory
HasComponentObjectTransportSettingsConnectionTransportTypeOptional
HasWriterGroupObject<WriterGroupName>WriterGroupTypeOptionalPlaceholder
HasReaderGroupObject<ReaderGroupName>ReaderGroupTypeOptionalPlaceholder
HasComponentObjectStatusPubSubStatusTypeMandatory
HasComponentObjectDiagnosticsPubSubDiagnostics‌ConnectionTypeOptional
HasComponentMethodAddWriterGroupDeprecated Method described in 9.1.5.3.Optional
HasComponentMethodAddReaderGroupDeprecated Method described in 9.1.5.4.Optional
HasComponentMethodRemoveGroupDeprecated Method described in 9.1.5.5.Optional
Conformance Units
PubSub Model Base

The PublisherId is defined in 6.2.7.1.

The TransportProfileUri is defined in 6.2.7.2. The Property is initialized with the default transport protocol for the Address during the creation of the connection. The SelectionValues Property of the SelectionListType shall contain the list of supported TransportProfileUris. The SelectionListType is defined in OPC 10000-5.

The ConnectionProperties is defined in 6.2.7.4.

The Address is defined in 6.2.7.3. The abstract NetworkAddressType is defined in 9.1.5.3. The default type used for concrete instances is the NetworkAddressUrlType defined in 9.1.5.7. It represents the Address in the form of a URL String.

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

The configured WriterGroup and ReaderGroup Objects are added as components to the instance of the PubSubConnectionType. PubSubGroup Objects may be configured with product-specific configuration tools or added and removed through the OPC UA Methods AddWriterGroup, AddReaderGroup and RemoveGroup.

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

The Diagnostics Object provides the current diagnostic information for a PubSubConnectionType Object. The PubSubDiagnosticsConnectionType is defined in 9.1.11.8.

9.1.5.3 AddWriterGroup Method (Deprecated)

This deprecated Method is used to add a new WriterGroup Object to an instance of the PubSubConnection.

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

Signature

	AddWriterGroup (
		[in]	WriterGroupDataType 	Configuration,
		[out]	NodeId			GroupId
		);
	
Argument Description
ConfigurationConfiguration parameters for the WriterGroup. The parameters and the WriterGroupDataType are defined in 6.2.6.
GroupIdThe NodeId of the new WriterGroup Object.

Method Result Codes

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

Table 267 specifies the AddressSpace representation for the AddWriterGroup Method.

Table 267 – AddWriterGroup Method AddressSpace definition
Attribute Value
BrowseNameAddWriterGroup
References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasPropertyVariableInputArgumentsArgument[] PropertyTypeMandatory
HasPropertyVariableOutputArgumentsArgument[] PropertyTypeMandatory
ConformanceUnits
PubSub Model Base
9.1.5.4 AddReaderGroup Method (Deprecated)

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

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

Signature

	AddReaderGroup (
		[in]	ReaderGroupDataType 	Configuration,
		[out]	NodeId			GroupId
		);
	
Argument Description
ConfigurationConfiguration parameters for the ReaderGroup. The parameters and the ReaderGroupDataType are defined in 6.2.8.
GroupIdThe NodeId of the new ReaderGroup Object.

Method Result Codes

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

Table 268 specifies the AddressSpace representation for the AddReaderGroup Method.

Table 268 – AddReaderGroup Method AddressSpace definition
Attribute Value
BrowseNameAddReaderGroup
References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasPropertyVariableInputArgumentsArgument[] PropertyTypeMandatory
HasPropertyVariableOutputArgumentsArgument[] PropertyTypeMandatory
ConformanceUnits
PubSub Model Base
9.1.5.5 RemoveGroup Method (Deprecated)

This deprecated Method is used to remove a PubSubGroup Object from the connection.

A successful removal of the PubSubGroup Object removes all associated DataSetWriter or DataSetReader Objects. Before the Objects are removed, their state is set to Disabled.

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

Signature

	RemoveGroup (
		[in]	NodeId	GroupId
		);
	
Argument Description
GroupId NodeId of the group to remove from the connection

Method Result Codes

ResultCode Description
Bad_NodeIdUnknownThe GroupId is unknown.
Bad_UserAccessDeniedThe Session user does not have rights to delete the group.

Table 269 specifies the AddressSpace representation for the RemoveGroup Method.

Table 269 – RemoveGroup Method AddressSpace definition
Attribute Value
BrowseNameRemoveGroup
References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasPropertyVariableInputArgumentsArgument[] PropertyTypeMandatory
ConformanceUnits
PubSub Model Base
9.1.5.6 NetworkAddressType

An instance of a subtype of this abstract ObjectType represents network address information. The NetworkAddressType is formally defined in Table 270.

Table 270 – NetworkAddressType definition
Attribute Value
BrowseNameNetworkAddressType
IsAbstractTrue
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of BaseObjectType defined in OPC 10000-5.
HasComponentVariableNetworkInterfaceStringSelectionListTypeMandatory
Conformance Units
PubSub Model Base

The NetworkInterface Variable allows the selection of the network interface used for the communication relation. The network interface can be listed by name, by IP address or a combination of name and IP address. The SelectionValues Property of the SelectionListType shall contain the list of available network interfaces as application-specific strings. The Value of the Variable contains the selected network interface as String. The SelectionListType is defined in OPC 10000-5. The Object may allow providing additional Strings not defined in the SelectionValues. In this case the NotRestrictToList Property of the SelectionListType is set to true.

9.1.5.7 NetworkAddressUrlType

An instance of this ObjectType represents network address information in the form of a URL String. The NetworkAddressUrlType is formally defined in Table 271.

Table 271 – NetworkAddressUrlType definition
Attribute Value
BrowseNameNetworkAddressUrlType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of NetworkAddressType defined in 9.1.5.3.
HasComponentVariableUrlStringBaseDataVariableTypeMandatory
Conformance Units
PubSub Model Base

The URL Variable contains the address string for the communication middleware or the communication relation. The syntax of the URL is defined by the transport protocol.

9.1.5.8 ConnectionTransportType

This ObjectType is the abstract base type for Objects representing transport protocol mapping specific settings for PubSubConnections. The ConnectionTransportType is formally defined in Table 272.

Table 272 – ConnectionTransportType definition
Attribute Value
BrowseNameConnectionTransportType
IsAbstractTrue
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of BaseObjectType
Conformance Units
PubSub Model Base
9.1.5.9 HasWriterGroup

The HasWriterGroup 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 PubSubConnectionType defined in 9.1.5.2.

The TargetNode of this ReferenceType shall be an instance of the WriterGroupType defined in 9.1.6.3.

Servers shall provide the inverse Reference that relates a WriterGroup Object back to a PubSubConnectionType Object.

The representation of the HasWriterGroup ReferenceType in the AddressSpace is specified in Table 273.

Table 273 – HasWriterGroup ReferenceType
Attributes Value
BrowseNameHasWriterGroup
InverseNameIsWriterGroupOf
SymmetricFalse
IsAbstractFalse
References NodeClass BrowseName Comment
Subtype of HasComponent defined in OPC 10000-5.
Conformance Units
PubSub Model Base
9.1.5.10 HasReaderGroup

The HasReaderGroup 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 PubSubConnectionType defined in 9.1.5.2.

The TargetNode of this ReferenceType shall be an instance of the ReaderGroupType defined in 9.1.6.6.

Servers shall provide the inverse Reference that relates a ReaderGroup Object back to a PubSubConnectionType Object.

The representation of the HasReaderGroup ReferenceType in the AddressSpace is specified in Table 274.

Table 274 – HasReaderGroup ReferenceType
Attributes Value
BrowseNameHasReaderGroup
InverseNameIsReaderGroupOf
SymmetricFalse
IsAbstractFalse
References NodeClass BrowseName Comment
Subtype of HasComponent defined in OPC 10000-5.
Conformance Units
PubSub Model Base