Figure 40depicts the ObjectTypefor the PubSubconnection model and its components and the relations to other parts of the model.
Figure 40– PubSubConnectionType Overview
This ObjectTypeis a concrete type for Objectsrepresenting PubSubConnections. A PubSubConnectionis a combination of protocol selection, protocol settings and addressing information. The PubSubConnectionTypeis 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 PublisherIdis defined in 6.2.6.1.
The TransportProfileUri is defined in 6.2.6.2. The Propertyis initialized with the default transport protocol for the Addressduring the creation of the connection. The SelectionValues Propertyof the SelectionListTypeshall contain the list of supported TransportProfileUris. The SelectionListTypeis defined in OPC 10000-5.
The ConnectionPropertiesis defined in 6.2.6.4.
The Address is defined in 6.2.6.3. The abstract NetworkAddressTypeis defined in A.3.1. The default type used for concrete instances is the NetworkAddressUrlTypedefined in A.3.2. It represents the Addressin the form of a URL String.
The transport protocol mapping specific setting settings are provided in the optional Object TransportSettings. The ConnectionTransportTypeis defined in 9.1.5.6. The Objectshall be present if the transport protocol mapping defines specific parameters.
The configured WriterGroupand ReaderGroup Objectsare added as components to the instance of the PubSubConnectionType. PubSubGroup Objectsmay be configured with productspecific configuration tools or added and removed through the OPC UA Methods AddWriterGroup, AddReaderGroupand RemoveGroup.
The Status Objectprovides the current operational status of the connection. The PubSubStatusTypeis defined in 9.1.10. The state machine for the status and the relation to other PubSub Objectslike PublishSubscribe, PubSubGroup, DataSetWriterand DataSetReaderare defined in 6.2.1.
The Diagnostics Object provides the current diagnostic information for a PubSubConnectionType Object. The PubSubDiagnosticsConnectionTypeis defined in 9.1.11.8.
This Methodis used to add a new WriterGroup Objectto an instance of the PubSubConnection.
The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon the Server.
Signature
AddWriterGroup(
[in]WriterGroupDataType Configuration
[out]NodeId GroupId
);
Argument |
Description |
Configuration |
Configuration parameters for the WriterGroup. The parameters and the WriterGroupDataTypeare defined in 6.2.5. |
GroupId |
The NodeIdof the new WriterGroup Object. |
Method Result Codes
ResultCode |
Description |
Bad_InvalidArgument |
The Serveris not able to apply the GroupName. The name may be too long or may contain invalid character. |
Bad_BrowseNameDuplicated |
An Objectwith the name already exists in the connection. |
Bad_ResourceUnavailable |
The Serverdoes not have enough resources to add the group. |
Bad_UserAccessDenied |
The Sessionuser does not have rights to create the group. |
This Methodis used to add a new ReaderGroup Objectto an instance of the PubSubConnection.
The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon the Server.
Signature
AddReaderGroup(
[in]ReaderGroupDataType Configuration
[out]NodeId GroupId
);
Argument |
Description |
Configuration |
Configuration parameters for the ReaderGroup. The parameters and the ReaderGroupDataTypeare defined in 6.2.7. |
GroupId |
The NodeIdof the new ReaderGroup Object. |
Method Result Codes
ResultCode |
Description |
Bad_InvalidArgument |
The Serveris not able to apply the GroupName. The name may be too long or may contain invalid character. |
Bad_BrowseNameDuplicated |
An Objectwith the name already exists in the connection. |
Bad_ResourceUnavailable |
The Serverdoes not have enough resources to add the group. |
Bad_UserAccessDenied |
The Sessionuser does not have rights to create the group. |
This Methodis used to remove a PubSubGroup Objectfrom the connection.
A successful removal of the PubSubGroup Objectremoves all associated DataSetWriteror DataSetReader Objects. Before the Objectsare removed, their state is set to Disabled_0.
The Clientshall be authorized to modify the configuration for the PubSubfunctionality when invoking this Methodon the Server.
Signature
RemoveGroup(
[in]NodeIdGroupId
);
Argument |
Description |
GroupId |
NodeIdof the group to remove from the connection |
Method Result Codes
ResultCode |
Description |
Bad_NodeIdUnknown |
The GroupIdis unknown. |
Bad_UserAccessDenied |
The Sessionuser does not have rights to delete the group. |
This ObjectTypeis the abstract base type for Objectsrepresenting transport protocol mapping specific settingsforPubSubConnections. The ConnectionTransportTypeis 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 |