Errata exists for this version of the document.
Figure 40 depicts the ObjectType for the PubSub connection model and its components and the relations to other parts of the model.
Figure 40 – PubSubConnectionType Overview
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 112.
Table 112 – PubSubConnectionType Definition
Attribute |
Value |
||||
BrowseName |
PubSubConnectionType |
||||
IsAbstract |
False |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
Subtype of BaseObjectType defined in OPC 10000-5. |
|||||
|
|
|
|
|
|
HasProperty |
Variable |
PublisherId |
BaseDataType |
PropertyType |
Mandatory |
HasComponent |
Variable |
TransportProfileUri |
String |
SelectionListType |
Mandatory |
HasProperty |
Variable |
ConnectionProperties |
KeyValuePair[] |
PropertyType |
Mandatory |
HasComponent |
Object |
Address |
|
NetworkAddressType |
Mandatory |
HasComponent |
Object |
TransportSettings |
|
ConnectionTransportType |
Optional |
HasWriterGroup |
Object |
<WriterGroupName> |
|
WriterGroupType |
OptionalPlaceholder |
HasReaderGroup |
Object |
<ReaderGroupName> |
|
ReaderGroupType |
OptionalPlaceholder |
HasComponent |
Object |
Status |
|
PubSubStatusType |
Mandatory |
HasComponent |
Object |
Diagnostics |
|
PubSubDiagnosticsConnectionType |
Optional |
HasComponent |
Method |
AddWriterGroup |
Defined in 9.1.5.3. |
Optional |
|
HasComponent |
Method |
AddReaderGroup |
Defined in 9.1.5.4. |
Optional |
|
HasComponent |
Method |
RemoveGroup |
Defined in 9.1.5.5. |
Optional |
The PublisherId is defined in 6.2.6.1.
The TransportProfileUri is defined in 6.2.6.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.6.4.
The Address is defined in 6.2.6.3. The abstract NetworkAddressType is defined in A.3.1. The default type used for concrete instances is the NetworkAddressUrlType defined in A.3.2. It represents the Address in the form of a URL String.
The transport protocol mapping specific setting settings are provided in the optional Object TransportSettings. The ConnectionTransportType is defined in 9.1.5.6. 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.
This Method is used to add a new WriterGroup Object to an instance of the PubSubConnection.
The Client shall 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 |
Configuration |
Configuration parameters for the WriterGroup. The parameters and the WriterGroupDataType are defined in 6.2.5. |
GroupId |
The NodeId of the new WriterGroup Object. |
Method Result Codes
ResultCode |
Description |
Bad_InvalidArgument |
The Server is not able to apply the GroupName. The name may be too long or may contain invalid character. |
Bad_BrowseNameDuplicated |
An Object with the name already exists in the connection. |
Bad_ResourceUnavailable |
The Server does not have enough resources to add the group. |
Bad_UserAccessDenied |
The Session user does not have rights to create the group. |
This Method is used to add a new ReaderGroup Object to an instance of the PubSubConnection.
The Client shall 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 |
Configuration |
Configuration parameters for the ReaderGroup. The parameters and the ReaderGroupDataType are defined in 6.2.7. |
GroupId |
The NodeId of the new ReaderGroup Object. |
Method Result Codes
ResultCode |
Description |
Bad_InvalidArgument |
The Server is not able to apply the GroupName. The name may be too long or may contain invalid character. |
Bad_BrowseNameDuplicated |
An Object with the name already exists in the connection. |
Bad_ResourceUnavailable |
The Server does not have enough resources to add the group. |
Bad_UserAccessDenied |
The Session user does not have rights to create the group. |
This 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_0.
The Client shall be authorized to modify the configuration for the PubSub functionality when invoking this Method on the Server.
Signature
RemoveGroup (
[in]NodeIdGroupId
);
Argument |
Description |
GroupId |
NodeId of the group to remove from the connection |
Method Result Codes
ResultCode |
Description |
Bad_NodeIdUnknown |
The GroupId is unknown. |
Bad_UserAccessDenied |
The Session user does not have rights to delete the group. |
This ObjectType is the abstract base type for Objects representing transport protocol mapping specific settings for PubSubConnections. The ConnectionTransportType is formally defined in Table 113.
Table 113 – ConnectionTransportType Definition
Attribute |
Value |
||||
BrowseName |
ConnectionTransportType |
||||
IsAbstract |
True |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
Subtype of BaseObjectType |